aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-04-04 10:05:53 +0200
committerLuca Ferrari <fluca1978@gmail.com>2022-04-04 10:05:53 +0200
commitb736fb2f6a230c678badabac696aa77ac0d6c3e1 (patch)
treea4158b5363683fcdff9c00c697c312f2fee88b34
parent14dda6355b6f7ee3734a67fa17f126bfc32e7efd (diff)
downloadperlweeklychallenge-club-b736fb2f6a230c678badabac696aa77ac0d6c3e1.tar.gz
perlweeklychallenge-club-b736fb2f6a230c678badabac696aa77ac0d6c3e1.tar.bz2
perlweeklychallenge-club-b736fb2f6a230c678badabac696aa77ac0d6c3e1.zip
Task 2 done
-rwxr-xr-x[-rw-r--r--]challenge-159/luca-ferrari/raku/ch-2.p628
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-159/luca-ferrari/raku/ch-2.p6 b/challenge-159/luca-ferrari/raku/ch-2.p6
index 4f7c3ef22b..5f9a75537e 100644..100755
--- a/challenge-159/luca-ferrari/raku/ch-2.p6
+++ b/challenge-159/luca-ferrari/raku/ch-2.p6
@@ -1,2 +1,30 @@
#!raku
# Perl Weekly Challenge 159
+
+sub prime-factors( Int $n ) {
+ my $number = $n;
+ my @factors;
+
+ my $factor = 2;
+ while ( $number > 1 && $factor <= $number ) {
+ if ( $number %% $factor ) {
+ @factors.push: $factor;
+ $number /= $factor;
+ }
+ else {
+ $factor++;
+ }
+ }
+
+ return @factors;
+}
+
+
+sub MAIN( Int $n where { $n > 0 } ) {
+
+ my @prime-factors = prime-factors( $n );
+ '0'.say and exit if @prime-factors.elems != @prime-factors.unique.elems;
+ '1'.say and exit if @prime-factors.unique.elems %% 2;
+ '-1'.say and exit;
+
+}