diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-03-07 11:19:17 +0100 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-03-07 11:19:17 +0100 |
| commit | 5429ecb3f4dd82a22072e3fbcefb51b088e02aa0 (patch) | |
| tree | 1c7fa3a10bcf2e9208c7c7882f5030f2b649c193 /challenge-155 | |
| parent | 533e5d6075971e41e6dd166244895e2bd25ad912 (diff) | |
| download | perlweeklychallenge-club-5429ecb3f4dd82a22072e3fbcefb51b088e02aa0.tar.gz perlweeklychallenge-club-5429ecb3f4dd82a22072e3fbcefb51b088e02aa0.tar.bz2 perlweeklychallenge-club-5429ecb3f4dd82a22072e3fbcefb51b088e02aa0.zip | |
Task 1 done
Diffstat (limited to 'challenge-155')
| -rwxr-xr-x | challenge-155/luca-ferrari/raku/ch-1.p6 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/challenge-155/luca-ferrari/raku/ch-1.p6 b/challenge-155/luca-ferrari/raku/ch-1.p6 new file mode 100755 index 0000000000..1eb9734339 --- /dev/null +++ b/challenge-155/luca-ferrari/raku/ch-1.p6 @@ -0,0 +1,22 @@ +#!raku + +sub MAIN( Int $limit where { $limit > 0 } = 8 ) { + my @fortunate-numbers = lazy gather { + for 2 .. Inf { + my @pn = ( 1 .. $_ ).grep: *.is-prime; + next if ! @pn; + for @pn.max + 1 .. Inf -> $m { + take $m and last if ( ( [*] @pn ) + $m ).is-prime; + } + } + } + + my @unique-fortunate-numbers; + my $last-number = 0; + while ( @unique-fortunate-numbers.elems < $limit ) { + my $fortunate = @fortunate-numbers[ $last-number++ ]; + @unique-fortunate-numbers.push: $fortunate if ! @unique-fortunate-numbers.grep: * ~~ $fortunate; + } + + @unique-fortunate-numbers[ 0 .. $limit ].sort.join( "\n" ).say; +} |
