aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xchallenge-075/feng-chang/raku/ch-1.raku19
1 files changed, 19 insertions, 0 deletions
diff --git a/challenge-075/feng-chang/raku/ch-1.raku b/challenge-075/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..2cfd88dfb6
--- /dev/null
+++ b/challenge-075/feng-chang/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/bin/env raku
+
+sub coins-sum(Int:D @C, Int:D $S, Int:D @solution) {
+ { say @solution; return; } if $S == 0;
+ return if $S < @C[0];
+
+ my Int @coins = @C;
+ while @coins.elems > 0 {
+ my Int @Sol = @solution;
+ @Sol.push(@coins[0]);
+ coins-sum(@coins, $S - @coins[0], @Sol);
+
+ @coins.shift;
+ }
+}
+
+my Int @coins = 1, 2, 4;
+my Int @solution;
+coins-sum(@coins, 6, @solution);