Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
22
Task/Subtractive-generator/Sidef/subtractive-generator.sidef
Normal file
22
Task/Subtractive-generator/Sidef/subtractive-generator.sidef
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
class SubRandom(seed, state=[]) {
|
||||
|
||||
const mod = 1_000_000_000;
|
||||
|
||||
method init {
|
||||
var s = [seed % mod, 1];
|
||||
53.times {
|
||||
s.append((s[-2] - s[-1]) % mod);
|
||||
}
|
||||
state = s.range.map {|i| s[(34 + 34*i) % 55] };
|
||||
range(55, 219).each { self.subrand };
|
||||
}
|
||||
|
||||
method subrand {
|
||||
var x = ((state.shift - state[-24]) % mod);
|
||||
state.append(x);
|
||||
return x;
|
||||
}
|
||||
}
|
||||
|
||||
var r = SubRandom(292929);
|
||||
10.times { say r.subrand };
|
||||
Loading…
Add table
Add a link
Reference in a new issue