diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-06-07 14:07:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-07 14:07:37 +0100 |
| commit | fcef89ade75d8bc97fb2561d52a8e94e16f8f10f (patch) | |
| tree | 29f564b5bb1f48e106bb3c3f14a31bbea4cf2812 | |
| parent | 6060970e261059c14fff96008141101b9103a20f (diff) | |
| parent | 72f427511f8c9ae889454364dce70b7ecef0ce2a (diff) | |
| download | perlweeklychallenge-club-fcef89ade75d8bc97fb2561d52a8e94e16f8f10f.tar.gz perlweeklychallenge-club-fcef89ade75d8bc97fb2561d52a8e94e16f8f10f.tar.bz2 perlweeklychallenge-club-fcef89ade75d8bc97fb2561d52a8e94e16f8f10f.zip | |
Merge pull request #6221 from 2colours/branch-for-challenge-168
Challenge #168 solutions by 2colours
| -rwxr-xr-x | challenge-168/2colours/raku/ch-1.raku | 8 | ||||
| -rwxr-xr-x | challenge-168/2colours/raku/ch-2.raku | 20 |
2 files changed, 28 insertions, 0 deletions
diff --git a/challenge-168/2colours/raku/ch-1.raku b/challenge-168/2colours/raku/ch-1.raku new file mode 100755 index 0000000000..b5c7508be4 --- /dev/null +++ b/challenge-168/2colours/raku/ch-1.raku @@ -0,0 +1,8 @@ +#!/usr/bin/env raku + +my @perrin-seq = 3, 0, 2, { $^c; $^a + $^b } ... *; +my @result <== + @perrin-seq.grep: &is-prime + andthen .unique.head: 13 + andthen .sort; +say "f(13) = [{@result.join: ', '}]";
\ No newline at end of file diff --git a/challenge-168/2colours/raku/ch-2.raku b/challenge-168/2colours/raku/ch-2.raku new file mode 100755 index 0000000000..ddc4ecd2a7 --- /dev/null +++ b/challenge-168/2colours/raku/ch-2.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +multi prime-factors(Int() $num) { samewith $num, 1 } +multi prime-factors(1, $) { () } +multi prime-factors($num where *.&is-prime, $) { ($num, ) } +multi prime-factors($num is copy, $lower-bound) { + my $first-factor = ($lower-bound ^.. *).first: $num %% *; + my $first-exponent = 0; + while $num %% $first-factor { + $first-exponent++; + $num div= $first-factor; + } + |($first-factor xx $first-exponent), |prime-factors($num, $first-factor) +} + +multi home-prime($num where *.&is-prime) { $num } +multi home-prime($num) { samewith [~] prime-factors $num} + +my $n = prompt 'N = '; +say home-prime($n);
\ No newline at end of file |
