Binomial transform: Difference between revisions
Content added Content deleted
(Added C) |
(→{{header|Wren}}: Tweaks.) |
||
Line 552: | Line 552: | ||
var b = List.filled(c, null) |
var b = List.filled(c, null) |
||
for (n in 0...c) { |
for (n in 0...c) { |
||
b[n] = Long.zero |
|||
for (k in 0..n) |
for (k in 0..n) b[n] = b[n] + ULong.binomial(n, k).toLong * a[k] |
||
b[n] = sum.toNum |
|||
} |
} |
||
return b |
return b |
||
Line 563: | Line 562: | ||
var a = List.filled(c, null) |
var a = List.filled(c, null) |
||
for (n in 0...c) { |
for (n in 0...c) { |
||
a[n] = Long.zero |
|||
for (k in 0..n) { |
for (k in 0..n) { |
||
var sign = ( |
var sign = ((n - k) % 2 == 0) ? 1 : -1 |
||
a[n] = a[n] + ULong.binomial(n, k).toLong * b[k] * sign |
|||
a[n] = sum.toNum |
|||
} |
} |
||
} |
} |