diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-12-01 17:25:14 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-01 17:25:14 +0000 |
| commit | 1dd5edbf42c02041f93bef8d937d954d56abe8c5 (patch) | |
| tree | 32897fececbb920f3cbeec5c8220b924e2c8cf29 | |
| parent | b99749b9d38f2d6071b17b5ba6c6321f8d91cf5a (diff) | |
| parent | d28f919766e5e70e4b420d64d3a803e8645e6007 (diff) | |
| download | perlweeklychallenge-club-1dd5edbf42c02041f93bef8d937d954d56abe8c5.tar.gz perlweeklychallenge-club-1dd5edbf42c02041f93bef8d937d954d56abe8c5.tar.bz2 perlweeklychallenge-club-1dd5edbf42c02041f93bef8d937d954d56abe8c5.zip | |
Merge pull request #2898 from pkmnx/branch-for-challenge-089
challenge #89, nums #1 & 2.
| -rwxr-xr-x | challenge-089/pkmnx/raku/ch-1.raku | 13 | ||||
| -rwxr-xr-x | challenge-089/pkmnx/raku/ch-2.raku | 29 |
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-089/pkmnx/raku/ch-1.raku b/challenge-089/pkmnx/raku/ch-1.raku new file mode 100755 index 0000000000..2880fe34a7 --- /dev/null +++ b/challenge-089/pkmnx/raku/ch-1.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku + +sub MAIN( Int $N where $N > 1 ) { + + my $v = 0; + my $str = (1..$N).combinations(2).map(->($a,$b){ $v += $a gcd $b; "gcd($a,$b)"}).join(" + "); + + "Input: $N".say; + "Output: $v\n".say; + + $str.say; + +} diff --git a/challenge-089/pkmnx/raku/ch-2.raku b/challenge-089/pkmnx/raku/ch-2.raku new file mode 100755 index 0000000000..c20006f1c9 --- /dev/null +++ b/challenge-089/pkmnx/raku/ch-2.raku @@ -0,0 +1,29 @@ +#!/usr/bin/env raku + +sub MAIN() { + + my $t = 15; + my @all = (1,2,3,4,5,6,7,8,9); + my @workers; + + for @all -> $a { + push @workers, start { + for ( @all (^) ($a) ).keys.grep({ ($a + $_) < $t }) -> $b { + for ( @all (^) ($a,$b) ).keys -> $c { + next if ($a + $b + $c) != $t; + + for ( @all (^) ($a,$b,$c) ).keys.permutations -> ($d,$e,$f,$g,$h,$i) { + if ( $t ==($d +$e +$f) ==($g +$h +$i) ==($a +$d +$g) ==($b +$e +$h) ==($c +$f +$i) ==($a +$e +$i) ==($c +$e +$g) ) { + ( ($a,$b,$c), ($d,$e,$f), ($g,$h,$i) ).join("\n").say; + print "\n"; + } + } + + } + } + } + } + + await(@workers); + +} |
