diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-04-04 10:05:53 +0200 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-04-04 10:05:53 +0200 |
| commit | b736fb2f6a230c678badabac696aa77ac0d6c3e1 (patch) | |
| tree | a4158b5363683fcdff9c00c697c312f2fee88b34 | |
| parent | 14dda6355b6f7ee3734a67fa17f126bfc32e7efd (diff) | |
| download | perlweeklychallenge-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.p6 | 28 |
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; + +} |
