aboutsummaryrefslogtreecommitdiff
path: root/challenge-044
diff options
context:
space:
mode:
authorSimon Proctor <simon.proctor@zpg.co.uk>2020-01-20 12:06:56 +0000
committerSimon Proctor <simon.proctor@zpg.co.uk>2020-01-20 12:06:56 +0000
commit3cfe1aa8fef811ba8b5cd4764217b632982376a7 (patch)
treed6c139615deaf017310eda612be6fd6884173233 /challenge-044
parent7f7cf93d3e2c5acc32cf4459b77af8b82d64a615 (diff)
downloadperlweeklychallenge-club-3cfe1aa8fef811ba8b5cd4764217b632982376a7.tar.gz
perlweeklychallenge-club-3cfe1aa8fef811ba8b5cd4764217b632982376a7.tar.bz2
perlweeklychallenge-club-3cfe1aa8fef811ba8b5cd4764217b632982376a7.zip
Use Div so we have and Int so we can simplify the termination
Diffstat (limited to 'challenge-044')
-rw-r--r--challenge-044/simon-proctor/raku/ch-2.p613
1 files changed, 7 insertions, 6 deletions
diff --git a/challenge-044/simon-proctor/raku/ch-2.p6 b/challenge-044/simon-proctor/raku/ch-2.p6
index 551c8ca0aa..3d87ee3192 100644
--- a/challenge-044/simon-proctor/raku/ch-2.p6
+++ b/challenge-044/simon-proctor/raku/ch-2.p6
@@ -2,16 +2,17 @@
use v6.d;
-multi sub recur( Int() $v where * %% 2 ) {
- return recur( $v / 2 ), " * 2";
+multi recur(1) {
+ return "1";
}
-multi sub recur( Int() $v ) {
- return "((", recur( $v - 1 ), ") + 1)";
+multi recur( \v where * %% 2 ) {
+ return recur( v div 2 ), " * 2";
}
-multi sub recur($ where * ~~ 1) {
- return "1";
+multi recur( \v ) {
+ return "((", recur( v - 1 ), ") + 1)";
}
+
say "{recur( 100 ).flat.join('')} == 100";