自然数の分割
Posted feedbacks - Pnuts
たまには Pnuts などを
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | function sum_perms(n, m) {
if (m == 1) {
yield [n]
}
else if (n == 0) {
yield new int[m]
}
else {
for (i : n..0) {
for (rest : sum_perms(n - i, m - 1)) {
yield [i] + rest
}
}
}
}
function main(args) {
if (args.length == 2) {
n, m = project(args, function(o) { int(o) })
}
else {
n, m = [5, 3]
}
for (t : sum_perms(n, m)) {
println(join(' ', t))
}
}
main($args[1..])
|

herumi
#4099()
Rating1/1=1.00
[ reply ]