diff options
| author | Polgár Márton <polgar@astron.hu> | 2022-01-18 02:16:05 +0100 |
|---|---|---|
| committer | Polgár Márton <polgar@astron.hu> | 2022-01-18 02:16:05 +0100 |
| commit | 06454b81e81fa410ed73dcbf50ed2256968d0371 (patch) | |
| tree | 906672d5dd6b5ba0e573f9cea9c6b674fdca4c33 | |
| parent | 9c9cb3dcb25537525090902ca4b8d10ae17e8960 (diff) | |
| download | perlweeklychallenge-club-06454b81e81fa410ed73dcbf50ed2256968d0371.tar.gz perlweeklychallenge-club-06454b81e81fa410ed73dcbf50ed2256968d0371.tar.bz2 perlweeklychallenge-club-06454b81e81fa410ed73dcbf50ed2256968d0371.zip | |
Added solutions for challenge #148
| -rwxr-xr-x | challenge-148/2colours/raku/ch-1.raku | 9 | ||||
| -rwxr-xr-x | challenge-148/2colours/raku/ch-2.raku | 17 |
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-148/2colours/raku/ch-1.raku b/challenge-148/2colours/raku/ch-1.raku new file mode 100755 index 0000000000..a88dd8841e --- /dev/null +++ b/challenge-148/2colours/raku/ch-1.raku @@ -0,0 +1,9 @@ +#!/usr/bin/env raku + +constant @small-contains-e = 1, 3, 5, 7, 8, 9, 10, 11, 12; +constant @xties-contains-e = 2, 7, 8, 9; +multi is-eban($num where 0 < * <= 12) { $num !(elem) @small-contains-e } +multi is-eban($num where 13 <= * < 20) { False } +multi is-eban($num where 20 <= * < 100) { $num div 10 !(elem) @xties-contains-e and $num%%10 || is-eban($num%10) } + +say (1..^100).grep(&is-eban); diff --git a/challenge-148/2colours/raku/ch-2.raku b/challenge-148/2colours/raku/ch-2.raku new file mode 100755 index 0000000000..8fb3b5e51d --- /dev/null +++ b/challenge-148/2colours/raku/ch-2.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +sub cardano-sum($a, $b, $c) { + ($a+$b*$c**0.5 andthen .sign*.abs**(1/3))+($a-$b*$c**0.5 andthen .sign*.abs**(1/3)) +} + + +my $cardano-triplets = gather { + for 1..Inf -> $biggest { + for 1..$biggest -> $mid { + for 1..$mid -> $smallest { + .take if cardano-sum(|$_) =~= 1 for permutations(($biggest, $mid, $smallest)); + } + } + } +} +.join(" ").say for $cardano-triplets.head(5); |
