aboutsummaryrefslogtreecommitdiff
path: root/challenge-153
diff options
context:
space:
mode:
authorarnesom <arne@bbop.org>2022-02-27 00:26:13 +0100
committerarnesom <arne@bbop.org>2022-02-27 00:26:13 +0100
commitde2d86a12f148168296142e7e840ddd1ec4248b9 (patch)
treee1dc78ba698c79c577532440ed85e4f8f989e7a2 /challenge-153
parent115072eac197a8c002a81ee3bdb8fd2e43a7b1ab (diff)
downloadperlweeklychallenge-club-de2d86a12f148168296142e7e840ddd1ec4248b9.tar.gz
perlweeklychallenge-club-de2d86a12f148168296142e7e840ddd1ec4248b9.tar.bz2
perlweeklychallenge-club-de2d86a12f148168296142e7e840ddd1ec4248b9.zip
Arne Sommer
Diffstat (limited to 'challenge-153')
-rw-r--r--challenge-153/arne-sommer/blog.txt1
-rwxr-xr-xchallenge-153/arne-sommer/raku/ch-1.raku7
-rwxr-xr-xchallenge-153/arne-sommer/raku/ch-2.raku5
-rwxr-xr-xchallenge-153/arne-sommer/raku/factorion-seq7
-rwxr-xr-xchallenge-153/arne-sommer/raku/factorions5
-rwxr-xr-xchallenge-153/arne-sommer/raku/left-factorials-loop13
-rwxr-xr-xchallenge-153/arne-sommer/raku/left-factorials-loop-cached14
-rwxr-xr-xchallenge-153/arne-sommer/raku/left-factorials-loop-cached-one18
-rwxr-xr-xchallenge-153/arne-sommer/raku/left-factorials-seq7
-rwxr-xr-xchallenge-153/arne-sommer/raku/left-factorials-seq-zero7
-rwxr-xr-xchallenge-153/arne-sommer/raku/left-factorials-silly3
11 files changed, 87 insertions, 0 deletions
diff --git a/challenge-153/arne-sommer/blog.txt b/challenge-153/arne-sommer/blog.txt
new file mode 100644
index 0000000000..141609a75d
--- /dev/null
+++ b/challenge-153/arne-sommer/blog.txt
@@ -0,0 +1 @@
+https://raku-musings.com/just-the-fact.html
diff --git a/challenge-153/arne-sommer/raku/ch-1.raku b/challenge-153/arne-sommer/raku/ch-1.raku
new file mode 100755
index 0000000000..d456dad9a9
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/ch-1.raku
@@ -0,0 +1,7 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:c(:$count) = 10);
+
+my $lf := ( $ = 1, ( * + ([*] 1 .. ++$) ) ... Inf );
+
+say $lf[^$count].join(", ");
diff --git a/challenge-153/arne-sommer/raku/ch-2.raku b/challenge-153/arne-sommer/raku/ch-2.raku
new file mode 100755
index 0000000000..61cc136615
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/ch-2.raku
@@ -0,0 +1,5 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $n where $n > 0);
+
+say + ($n.comb.map({ [*] (1 .. $_) }).sum == $n);
diff --git a/challenge-153/arne-sommer/raku/factorion-seq b/challenge-153/arne-sommer/raku/factorion-seq
new file mode 100755
index 0000000000..21399295bc
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/factorion-seq
@@ -0,0 +1,7 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:c(:$count) = 10);
+
+my $fs := ( my $i = 1, { (++$i).comb.map({ [*] (1 .. $_) }).sum == $i ?? $i !! next } ... Inf);
+
+say $fs[^$count].join(", ");
diff --git a/challenge-153/arne-sommer/raku/factorions b/challenge-153/arne-sommer/raku/factorions
new file mode 100755
index 0000000000..61cc136615
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/factorions
@@ -0,0 +1,5 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (Int $n where $n > 0);
+
+say + ($n.comb.map({ [*] (1 .. $_) }).sum == $n);
diff --git a/challenge-153/arne-sommer/raku/left-factorials-loop b/challenge-153/arne-sommer/raku/left-factorials-loop
new file mode 100755
index 0000000000..814ac814d7
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/left-factorials-loop
@@ -0,0 +1,13 @@
+#! /usr/bin/env raku
+
+my $lf := gather
+{
+ my $index = 0;
+
+ loop
+ {
+ take (0 .. $index++).map({ [*] (1 .. $_) }).sum;
+ }
+}
+
+say $lf[^10].join(", ");
diff --git a/challenge-153/arne-sommer/raku/left-factorials-loop-cached b/challenge-153/arne-sommer/raku/left-factorials-loop-cached
new file mode 100755
index 0000000000..7001dc2ad2
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/left-factorials-loop-cached
@@ -0,0 +1,14 @@
+#! /usr/bin/env raku
+
+my $lf := gather
+{
+ my $index = 0;
+ my $prev = 0;
+
+ loop
+ {
+ take $prev += ( [*] (1 .. $index++) ).sum;
+ }
+}
+
+say $lf[^10].join(", ");
diff --git a/challenge-153/arne-sommer/raku/left-factorials-loop-cached-one b/challenge-153/arne-sommer/raku/left-factorials-loop-cached-one
new file mode 100755
index 0000000000..614f708f69
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/left-factorials-loop-cached-one
@@ -0,0 +1,18 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:z(:$zero-based));
+
+my $lf := gather
+{
+ my $index = 0;
+ my $prev = 0;
+
+ take 0 if $zero-based;
+
+ loop
+ {
+ take $prev += ( [*] (1 .. $index++) ).sum;
+ }
+}
+
+say $lf[^10].join(", ");
diff --git a/challenge-153/arne-sommer/raku/left-factorials-seq b/challenge-153/arne-sommer/raku/left-factorials-seq
new file mode 100755
index 0000000000..d456dad9a9
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/left-factorials-seq
@@ -0,0 +1,7 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:c(:$count) = 10);
+
+my $lf := ( $ = 1, ( * + ([*] 1 .. ++$) ) ... Inf );
+
+say $lf[^$count].join(", ");
diff --git a/challenge-153/arne-sommer/raku/left-factorials-seq-zero b/challenge-153/arne-sommer/raku/left-factorials-seq-zero
new file mode 100755
index 0000000000..a837789bb9
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/left-factorials-seq-zero
@@ -0,0 +1,7 @@
+#! /usr/bin/env raku
+
+unit sub MAIN (:c(:$count) = 10);
+
+my $lf := ( 0, 1, ( * + ([*] 1 .. ++$) ) ... Inf );
+
+say $lf[^$count].join(", ");
diff --git a/challenge-153/arne-sommer/raku/left-factorials-silly b/challenge-153/arne-sommer/raku/left-factorials-silly
new file mode 100755
index 0000000000..37e97d66a8
--- /dev/null
+++ b/challenge-153/arne-sommer/raku/left-factorials-silly
@@ -0,0 +1,3 @@
+#! /usr/bin/env raku
+
+say "1, 2, 4, 10, 34, 154, 874, 5914, 46234, 409114";