diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-06-08 09:53:44 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-08 09:53:44 +0100 |
| commit | a3b7a35a23c3d3d28f71cf6860c64fec706af4ec (patch) | |
| tree | 3ee5aef4decc5492a16aa82ebf4bc2bb25f1a58b | |
| parent | b86f31434f255cb71b5fe117b7cba185af5381e0 (diff) | |
| parent | 986c32244ac3ac6a33294457fed9a7559bb4b920 (diff) | |
| download | perlweeklychallenge-club-a3b7a35a23c3d3d28f71cf6860c64fec706af4ec.tar.gz perlweeklychallenge-club-a3b7a35a23c3d3d28f71cf6860c64fec706af4ec.tar.bz2 perlweeklychallenge-club-a3b7a35a23c3d3d28f71cf6860c64fec706af4ec.zip | |
Merge pull request #4225 from fluca1978/pwc116
Pwc116
| -rw-r--r-- | challenge-116/luca-ferrari/blog-1.txt | 1 | ||||
| -rw-r--r-- | challenge-116/luca-ferrari/blog-2.txt | 1 | ||||
| -rw-r--r-- | challenge-116/luca-ferrari/raku/ch-1.p6 | 41 | ||||
| -rw-r--r-- | challenge-116/luca-ferrari/raku/ch-2.p6 | 8 |
4 files changed, 51 insertions, 0 deletions
diff --git a/challenge-116/luca-ferrari/blog-1.txt b/challenge-116/luca-ferrari/blog-1.txt new file mode 100644 index 0000000000..dac805f2b0 --- /dev/null +++ b/challenge-116/luca-ferrari/blog-1.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2021/06/08/PerlWeeklyChallenge116.html#task1 diff --git a/challenge-116/luca-ferrari/blog-2.txt b/challenge-116/luca-ferrari/blog-2.txt new file mode 100644 index 0000000000..edd6829f9a --- /dev/null +++ b/challenge-116/luca-ferrari/blog-2.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2021/06/08/PerlWeeklyChallenge116.html#task2 diff --git a/challenge-116/luca-ferrari/raku/ch-1.p6 b/challenge-116/luca-ferrari/raku/ch-1.p6 new file mode 100644 index 0000000000..e1c71ba561 --- /dev/null +++ b/challenge-116/luca-ferrari/raku/ch-1.p6 @@ -0,0 +1,41 @@ +#!raku + +sub MAIN( Int $N where { $N >= 10 } ) { + my @digits = $N.split( '', :skip-empty ); + my $min-length = 1; + + my @numbers; + + my $i = 0; + my $done = True; + while $done && $i < @digits.elems { + + + + # first number ever + @numbers.push: @digits[ $i ] if ! @numbers; + my $current-number = @numbers[ * - 1 ]; + + # compute available next numbers + my @next-number = $current-number + 1, $current-number - 1; + + # see if there is room for any of the next + # numbers in the remaining array of digits + $done = False; + for @next-number { + my $length = $_.Str.chars; + if $i + $length < @digits.elems { + my $current = @digits[ $i + 1 .. $i + $length ].join.Int; + if $current == $_ { + @numbers.push: $current; + $i += $length; + $done = True; + last; + } + } + } + } + + # all done + say @numbers if $done; +} diff --git a/challenge-116/luca-ferrari/raku/ch-2.p6 b/challenge-116/luca-ferrari/raku/ch-2.p6 new file mode 100644 index 0000000000..5de7b02120 --- /dev/null +++ b/challenge-116/luca-ferrari/raku/ch-2.p6 @@ -0,0 +1,8 @@ +#!raku + +sub MAIN( Int $N where { $N >= 10 } ) { + + my $sum = $N.split( '' ).map( { $_ * $_ } ).sum; + say 1 and exit if $sum.sqrt == $sum.sqrt.Int; + say 0; +} |
