Anonymous user
Subset sum problem: Difference between revisions
Simpler D entry, updated
m (→{{header|REXX}}: re-did the REXX program, combined some statements, removed some blank lines. -- ~~~~) |
(Simpler D entry, updated) |
||
Line 343:
A simple brute-force solution.
{{trans|Ruby}}
<lang d>import std.stdio, std.algorithm
T[][] combinations(T)(in T[] arr, in int k) pure nothrow {
if (k == 0) return [[]];
T[][] result;
foreach (i, x; arr)
foreach (suffix; combinations(arr[i + 1 .. $], k - 1))
result ~= x ~ suffix;
return result;
Line 355:
void main() {
alias tuple
immutable items = [
foreach (n; 1 .. items.length)
foreach (comb; combinations(items, n))
if (reduce!q{ a + b[1] }(0, comb) == 0)
return writefln("A subset of length %d: %-(%s, %)", n,
▲ writefln("No solution found.");
}</lang>
{{out}}
|