diff options
| author | arnesom <arne@bbop.org> | 2022-02-27 00:26:13 +0100 |
|---|---|---|
| committer | arnesom <arne@bbop.org> | 2022-02-27 00:26:13 +0100 |
| commit | de2d86a12f148168296142e7e840ddd1ec4248b9 (patch) | |
| tree | e1dc78ba698c79c577532440ed85e4f8f989e7a2 /challenge-153 | |
| parent | 115072eac197a8c002a81ee3bdb8fd2e43a7b1ab (diff) | |
| download | perlweeklychallenge-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.txt | 1 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/ch-1.raku | 7 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/ch-2.raku | 5 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/factorion-seq | 7 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/factorions | 5 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/left-factorials-loop | 13 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/left-factorials-loop-cached | 14 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/left-factorials-loop-cached-one | 18 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/left-factorials-seq | 7 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/left-factorials-seq-zero | 7 | ||||
| -rwxr-xr-x | challenge-153/arne-sommer/raku/left-factorials-silly | 3 |
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"; |
