diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-01-20 16:06:06 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-20 16:06:06 +0000 |
| commit | 676af3a42f203e955546606e4955e28ae4cddd1f (patch) | |
| tree | f665c1ea4cba74e10a24bbd45425923ee83c2802 | |
| parent | 18591238f7aea9a276d2eead16acaa1bf7684b32 (diff) | |
| parent | 8a56f9b666981b6dd455a50d8e548978d131368c (diff) | |
| download | perlweeklychallenge-club-676af3a42f203e955546606e4955e28ae4cddd1f.tar.gz perlweeklychallenge-club-676af3a42f203e955546606e4955e28ae4cddd1f.tar.bz2 perlweeklychallenge-club-676af3a42f203e955546606e4955e28ae4cddd1f.zip | |
Merge pull request #9430 from arnesom/branch-for-challenge-252
Arne Sommer
| -rw-r--r-- | challenge-252/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-252/arne-sommer/raku/ch-1.raku | 20 | ||||
| -rwxr-xr-x | challenge-252/arne-sommer/raku/ch-2.raku | 21 | ||||
| -rwxr-xr-x | challenge-252/arne-sommer/raku/special-numbers | 20 | ||||
| -rwxr-xr-x | challenge-252/arne-sommer/raku/usz | 21 |
5 files changed, 83 insertions, 0 deletions
diff --git a/challenge-252/arne-sommer/blog.txt b/challenge-252/arne-sommer/blog.txt new file mode 100644 index 0000000000..b7231a7cad --- /dev/null +++ b/challenge-252/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/uniquely-special.html diff --git a/challenge-252/arne-sommer/raku/ch-1.raku b/challenge-252/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..f8fb92200a --- /dev/null +++ b/challenge-252/arne-sommer/raku/ch-1.raku @@ -0,0 +1,20 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where @ints.elems > 0 && all(@ints) ~~ Int, :v(:$verbose)); + +my $sum = 0; +my $n = @ints.elems; + +for 1 .. $n -> $i +{ + if $n %% $i + { + my $val = @ints[$i -1]; + my $squared = $val ** 2; + + $sum += $squared; + say ": Index $i is special -> value:$val -> squared:$squared -> sum:$sum" if $verbose; + } +} + +say $sum; diff --git a/challenge-252/arne-sommer/raku/ch-2.raku b/challenge-252/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..efea5ba119 --- /dev/null +++ b/challenge-252/arne-sommer/raku/ch-2.raku @@ -0,0 +1,21 @@ +#! /usr/bin/env raku + +unit sub MAIN (UInt $n is copy, :v(:$verbose)); + +my @array; + +if $n % 2 +{ + @array = (0,); + say ": Odd number, added middle zero" if $verbose; +} + +for 1 .. $n div 2 -> $i +{ + @array.push: $i; + @array.unshift: -$i; + + say ": Added { -$i } at front and $i at end" if $verbose; +} + +say "({ @array.join(", ") })"; diff --git a/challenge-252/arne-sommer/raku/special-numbers b/challenge-252/arne-sommer/raku/special-numbers new file mode 100755 index 0000000000..f8fb92200a --- /dev/null +++ b/challenge-252/arne-sommer/raku/special-numbers @@ -0,0 +1,20 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@ints where @ints.elems > 0 && all(@ints) ~~ Int, :v(:$verbose)); + +my $sum = 0; +my $n = @ints.elems; + +for 1 .. $n -> $i +{ + if $n %% $i + { + my $val = @ints[$i -1]; + my $squared = $val ** 2; + + $sum += $squared; + say ": Index $i is special -> value:$val -> squared:$squared -> sum:$sum" if $verbose; + } +} + +say $sum; diff --git a/challenge-252/arne-sommer/raku/usz b/challenge-252/arne-sommer/raku/usz new file mode 100755 index 0000000000..efea5ba119 --- /dev/null +++ b/challenge-252/arne-sommer/raku/usz @@ -0,0 +1,21 @@ +#! /usr/bin/env raku + +unit sub MAIN (UInt $n is copy, :v(:$verbose)); + +my @array; + +if $n % 2 +{ + @array = (0,); + say ": Odd number, added middle zero" if $verbose; +} + +for 1 .. $n div 2 -> $i +{ + @array.push: $i; + @array.unshift: -$i; + + say ": Added { -$i } at front and $i at end" if $verbose; +} + +say "({ @array.join(", ") })"; |
