diff options
| -rwxr-xr-x | challenge-169/luca-ferrari/raku/ch-1.p6 | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/challenge-169/luca-ferrari/raku/ch-1.p6 b/challenge-169/luca-ferrari/raku/ch-1.p6 new file mode 100755 index 0000000000..5ce81cc39b --- /dev/null +++ b/challenge-169/luca-ferrari/raku/ch-1.p6 @@ -0,0 +1,34 @@ +#!raku + +# Perl Weekly Challenge 169 + +sub is-brilliant( $num ) { + my $number = $num; + + # get all the factors + my @factors; + + for 2 ..^ $number { + next if ! $_.is-prime; + + while ( $number %% $_ ) { + @factors.push: $_; + $number /= $_; + } + } + + return False if @factors.elems != 2; + return False if @factors[0] == @factors[1]; + return True if @factors[0].Str.chars == @factors[1].Str.chars; +} + + +sub MAIN( Int $limit where { $limit > 0 } = 20 ) { + + my @brilliant = lazy gather { + take $_ if is-brilliant( $_ ) for 1 .. Inf; + }; + + @brilliant[ 0 .. $limit ].join( "\n" ).say; + +} |
