diff options
| -rw-r--r-- | challenge-043/stuart-little/README | 1 | ||||
| -rwxr-xr-x | challenge-043/stuart-little/raku/ch-1.p6 | 13 | ||||
| -rwxr-xr-x | challenge-043/stuart-little/raku/ch-2.p6 | 16 |
3 files changed, 30 insertions, 0 deletions
diff --git a/challenge-043/stuart-little/README b/challenge-043/stuart-little/README new file mode 100644 index 0000000000..78439907de --- /dev/null +++ b/challenge-043/stuart-little/README @@ -0,0 +1 @@ +Solutions by Stuart Little diff --git a/challenge-043/stuart-little/raku/ch-1.p6 b/challenge-043/stuart-little/raku/ch-1.p6 new file mode 100755 index 0000000000..437ef3445c --- /dev/null +++ b/challenge-043/stuart-little/raku/ch-1.p6 @@ -0,0 +1,13 @@ +#!/usr/bin/env perl6 +use v6; + +# run as <script> + +say $=finish; + +=finish +Red: 9,2 +Green: 2,5,4 +Black: 4,6,1 +Yellow: 1,7,3 +Blue: 3,8 diff --git a/challenge-043/stuart-little/raku/ch-2.p6 b/challenge-043/stuart-little/raku/ch-2.p6 new file mode 100755 index 0000000000..1fc414067d --- /dev/null +++ b/challenge-043/stuart-little/raku/ch-2.p6 @@ -0,0 +1,16 @@ +#!/usr/bin/env perl6 +use v6; + +# run as <script> <base> + +sub self_desc($b where * >= 2) { + $b == (1,2,3,6).any && return "None" xx 2; + my $b10=($b-4) * $b ** ($b-1) + + 2 * $b ** ($b-2) + + $b ** ($b-3) + + $b ** 3; + $b10, (($b <= 36) ?? ($b10.base($b)) !! ("base too large")) +} + +my $base=@*ARGS[0]; +printf("Base 10: %s\nBase {$base}: %s\n", |self_desc($base)) |
