From 66c0ed488993ad35e22dda1f6cd6dfc2f84983ea Mon Sep 17 00:00:00 2001 From: mimosinnet Date: Fri, 28 May 2021 23:19:09 +0200 Subject: Solutions for challenge 114 --- challenge-114/mimosinnet/raku/ch-1.raku | 25 +++++++++++++++++++++++++ challenge-114/mimosinnet/raku/ch-2.raku | 25 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 challenge-114/mimosinnet/raku/ch-1.raku create mode 100644 challenge-114/mimosinnet/raku/ch-2.raku 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; +} -- cgit