aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-06-13 10:33:58 +0200
committerLuca Ferrari <fluca1978@gmail.com>2022-06-13 10:33:58 +0200
commit5ea70868d519d3d3426cdbd7b510fda19372136c (patch)
treea56e00cb1aa94c6daf1b30894c0ffdf929b0eb2f
parent8810e3636cb9c2a1b553481bf3b4ae1fc3841784 (diff)
downloadperlweeklychallenge-club-5ea70868d519d3d3426cdbd7b510fda19372136c.tar.gz
perlweeklychallenge-club-5ea70868d519d3d3426cdbd7b510fda19372136c.tar.bz2
perlweeklychallenge-club-5ea70868d519d3d3426cdbd7b510fda19372136c.zip
Task 1 done
-rwxr-xr-xchallenge-169/luca-ferrari/raku/ch-1.p634
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;
+
+}