diff options
| -rw-r--r-- | challenge-114/mimosinnet/raku/ch-1.raku | 25 | ||||
| -rw-r--r-- | challenge-114/mimosinnet/raku/ch-2.raku | 25 |
2 files changed, 50 insertions, 0 deletions
diff --git a/challenge-114/mimosinnet/raku/ch-1.raku b/challenge-114/mimosinnet/raku/ch-1.raku new file mode 100644 index 0000000000..3fdfdf487a --- /dev/null +++ b/challenge-114/mimosinnet/raku/ch-1.raku @@ -0,0 +1,25 @@ +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-114/ + +sub challenge( $number ) { + ($number^..^∞).grep({ $_ eq $_.flip }).first; +} + +multi sub MAIN( $number ) { + say 'Input: $N = ',$number; + say 'Output: ',challenge($number),"\n"; +} + +multi sub MAIN( 'challenge' ) { + MAIN(1234); + MAIN(999); +} + +multi sub MAIN( 'test' ) is hidden-from-USAGE { + use Test; + + is challenge(1234), 1331; + is challenge(999), 1001; + is challenge(500006),501105; + + done-testing; +} diff --git a/challenge-114/mimosinnet/raku/ch-2.raku b/challenge-114/mimosinnet/raku/ch-2.raku new file mode 100644 index 0000000000..614cae7307 --- /dev/null +++ b/challenge-114/mimosinnet/raku/ch-2.raku @@ -0,0 +1,25 @@ +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-114/ + +sub challenge($num ) { + ($num^..^*).grep({ $_.base(2).comb.sum == $num.base(2).comb.sum }).head; +} + +multi sub MAIN( $num ) { + say 'Input: $N = ',$num; + say 'Output: ',challenge($num),"\n"; +} + +multi sub MAIN( 'challenge' ) { + MAIN(3); + MAIN(12); +} + +multi sub MAIN( 'test' ) is hidden-from-USAGE { + use Test; + + is challenge(3), 5; + is challenge(12), 17; + is challenge(240), 263; + + done-testing; +} |
