aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-12-01 06:06:47 +0000
committerGitHub <noreply@github.com>2020-12-01 06:06:47 +0000
commit25648e5e844695011844cfd0a59844dc67686bb6 (patch)
tree5176ed3f1377c471ff9536d8daee763045f7bda0
parent9876b1add9717934552b898c5ca1aa5ac733ea30 (diff)
parentdfa8b9464c40b315e55baac25479954b1ad571a4 (diff)
downloadperlweeklychallenge-club-25648e5e844695011844cfd0a59844dc67686bb6.tar.gz
perlweeklychallenge-club-25648e5e844695011844cfd0a59844dc67686bb6.tar.bz2
perlweeklychallenge-club-25648e5e844695011844cfd0a59844dc67686bb6.zip
Merge pull request #2896 from stuart-little/stuart-little_023
1st commit on 023
-rw-r--r--challenge-023/stuart-little/README1
-rwxr-xr-xchallenge-023/stuart-little/raku/ch-1.p610
-rwxr-xr-xchallenge-023/stuart-little/raku/ch-2.p614
3 files changed, 25 insertions, 0 deletions
diff --git a/challenge-023/stuart-little/README b/challenge-023/stuart-little/README
new file mode 100644
index 0000000000..78439907de
--- /dev/null
+++ b/challenge-023/stuart-little/README
@@ -0,0 +1 @@
+Solutions by Stuart Little
diff --git a/challenge-023/stuart-little/raku/ch-1.p6 b/challenge-023/stuart-little/raku/ch-1.p6
new file mode 100755
index 0000000000..d8deac2344
--- /dev/null
+++ b/challenge-023/stuart-little/raku/ch-1.p6
@@ -0,0 +1,10 @@
+#!/usr/bin/env perl6
+use v6;
+
+sub dff(@a where {$_.all ~~ Int}) {
+ @a.rotor(2 => -1).map({ $_[1] - $_[0] })
+}
+
+for (1..@*ARGS[0].Int).map({ reduce { $^b.($^a) }, @*ARGS[1..*].map(*.Int), |(&dff xx $_) }) {.say}
+
+# run as <script> <number of difference iterations> <space-separated integer array entries>
diff --git a/challenge-023/stuart-little/raku/ch-2.p6 b/challenge-023/stuart-little/raku/ch-2.p6
new file mode 100755
index 0000000000..2209962027
--- /dev/null
+++ b/challenge-023/stuart-little/raku/ch-2.p6
@@ -0,0 +1,14 @@
+#!/usr/bin/env perl6
+use v6;
+
+my @PRIMES=(2..*).grep(*.is-prime);
+
+sub fct($n,@a) {
+ $n.abs == 1 && return @a;
+ my $fact=@PRIMES.first($n %% *);
+ return fct(($n div $fact), (|@a,$fact));
+}
+
+say @*ARGS[0].Int.&fct(())
+
+# run as <script> <integer>