From 3cfe1aa8fef811ba8b5cd4764217b632982376a7 Mon Sep 17 00:00:00 2001 From: Simon Proctor Date: Mon, 20 Jan 2020 12:06:56 +0000 Subject: Use Div so we have and Int so we can simplify the termination --- challenge-044/simon-proctor/raku/ch-2.p6 | 13 +++++++------ 1 file 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"; -- cgit