diff options
| author | Simon Proctor <simon.proctor@zpg.co.uk> | 2020-01-20 12:06:56 +0000 |
|---|---|---|
| committer | Simon Proctor <simon.proctor@zpg.co.uk> | 2020-01-20 12:06:56 +0000 |
| commit | 3cfe1aa8fef811ba8b5cd4764217b632982376a7 (patch) | |
| tree | d6c139615deaf017310eda612be6fd6884173233 /challenge-044 | |
| parent | 7f7cf93d3e2c5acc32cf4459b77af8b82d64a615 (diff) | |
| download | perlweeklychallenge-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.p6 | 13 |
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"; |
