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/Bernoulli-numbers/Sidef/bernoulli-numbers-1.sidef
Normal file
22
Task/Bernoulli-numbers/Sidef/bernoulli-numbers-1.sidef
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
func bernoulli_number{}; # must be declared before first used
|
||||
|
||||
func bern_helper(n, k) {
|
||||
binomial(n, k) * (bernoulli_number(k) / (n - k + 1));
|
||||
}
|
||||
|
||||
func bern_diff(n, k, d) {
|
||||
n < k ? d : bern_diff(n, k + 1, d - bern_helper(n + 1, k));
|
||||
}
|
||||
|
||||
bernoulli_number = func(n) is cached {
|
||||
|
||||
n.is_one && return 1/2;
|
||||
n.is_odd && return 0;
|
||||
|
||||
n > 0 ? bern_diff(n - 1, 0, 1) : 1;
|
||||
}
|
||||
|
||||
range(0, 60).each { |i|
|
||||
var num = bernoulli_number(i) || next;
|
||||
printf("B(%2d) = %44s / %s\n", i, num.parts);
|
||||
}
|
||||
13
Task/Bernoulli-numbers/Sidef/bernoulli-numbers-2.sidef
Normal file
13
Task/Bernoulli-numbers/Sidef/bernoulli-numbers-2.sidef
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
func bernoulli_print {
|
||||
var a = []
|
||||
range(0, 60).each { |m|
|
||||
a << (m+1 -> inv)
|
||||
m.downto(1).each { |j|
|
||||
(a[j-1] -= a[j]) *= j
|
||||
}
|
||||
a[0] || next
|
||||
printf("B(%2d) = %44s / %s\n", m, a[0].parts)
|
||||
}
|
||||
}
|
||||
|
||||
bernoulli_print()
|
||||
Loading…
Add table
Add a link
Reference in a new issue