aboutsummaryrefslogtreecommitdiff
path: root/challenge-054/simon-proctor
diff options
context:
space:
mode:
authorSimon Proctor <simon.proctor@zoopla.co.uk>2020-03-30 09:38:15 +0100
committerSimon Proctor <simon.proctor@zoopla.co.uk>2020-03-30 09:38:15 +0100
commit340592c026f33b33d4334ce5ebd561a35b3c943e (patch)
tree87b12db5a702176daa77c2d3f5147ff757210123 /challenge-054/simon-proctor
parent84b520b0b614661ab828c8b59b06f946d8b60ae3 (diff)
downloadperlweeklychallenge-club-340592c026f33b33d4334ce5ebd561a35b3c943e.tar.gz
perlweeklychallenge-club-340592c026f33b33d4334ce5ebd561a35b3c943e.tar.bz2
perlweeklychallenge-club-340592c026f33b33d4334ce5ebd561a35b3c943e.zip
Haven't done extra credit yet.
Diffstat (limited to 'challenge-054/simon-proctor')
-rw-r--r--challenge-054/simon-proctor/raku/ch-2.p614
1 files changed, 14 insertions, 0 deletions
diff --git a/challenge-054/simon-proctor/raku/ch-2.p6 b/challenge-054/simon-proctor/raku/ch-2.p6
new file mode 100644
index 0000000000..d5e06d7387
--- /dev/null
+++ b/challenge-054/simon-proctor/raku/ch-2.p6
@@ -0,0 +1,14 @@
+#!/usr/bin/env raku
+
+use v6;
+
+#| Print the Collatz list for target
+multi sub MAIN(
+ UInt \target #= Number to print the target for
+){
+ (target,{collatz($^a)}...1).join(' -> ').say;
+}
+
+multi sub collatz( UInt \n where { n %% 2 } ) { n div 2; }
+
+multi sub collatz( UInt \n where { n !%% 2 } ) { (3 * n) + 1; }