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..])
odz #4335() [ Pnuts ] Rating0/0=0.00
たまには Pnuts などを
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..])Rating0/0=0.00-0+
[ reply ]