aboutsummaryrefslogtreecommitdiff
path: root/challenge-044/simon-proctor
diff options
context:
space:
mode:
authorSimon Proctor <simon.proctor@zpg.co.uk>2020-01-20 11:56:06 +0000
committerSimon Proctor <simon.proctor@zpg.co.uk>2020-01-20 11:56:06 +0000
commit7f7cf93d3e2c5acc32cf4459b77af8b82d64a615 (patch)
treed478c921884003ca81a6fe073a130681c08c0264 /challenge-044/simon-proctor
parent6d5027a7cbf1bc0c53b0522152e662fff5def033 (diff)
downloadperlweeklychallenge-club-7f7cf93d3e2c5acc32cf4459b77af8b82d64a615.tar.gz
perlweeklychallenge-club-7f7cf93d3e2c5acc32cf4459b77af8b82d64a615.tar.bz2
perlweeklychallenge-club-7f7cf93d3e2c5acc32cf4459b77af8b82d64a615.zip
Using recursion back from 100 to 1 to get the 8 steps needed to get from 1 to 100
Diffstat (limited to 'challenge-044/simon-proctor')
-rw-r--r--challenge-044/simon-proctor/raku/ch-2.p617
1 files changed, 17 insertions, 0 deletions
diff --git a/challenge-044/simon-proctor/raku/ch-2.p6 b/challenge-044/simon-proctor/raku/ch-2.p6
new file mode 100644
index 0000000000..551c8ca0aa
--- /dev/null
+++ b/challenge-044/simon-proctor/raku/ch-2.p6
@@ -0,0 +1,17 @@
+#!/usr/bin/env perl6
+
+use v6.d;
+
+multi sub recur( Int() $v where * %% 2 ) {
+ return recur( $v / 2 ), " * 2";
+}
+
+multi sub recur( Int() $v ) {
+ return "((", recur( $v - 1 ), ") + 1)";
+}
+
+multi sub recur($ where * ~~ 1) {
+ return "1";
+}
+
+say "{recur( 100 ).flat.join('')} == 100";