aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-114/mimosinnet/raku/ch-1.raku25
-rw-r--r--challenge-114/mimosinnet/raku/ch-2.raku25
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;
+}