diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-01-17 00:18:30 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-17 00:18:30 +0000 |
| commit | ff082d52badb7502859f028c1f8f5785d1d06ad4 (patch) | |
| tree | fa72da411b51a735190ad69ec8b15c83cd617c1c | |
| parent | 8e6c9cdc060aa5442ef97a656714d25ed6533298 (diff) | |
| parent | 43949a47d2103b57094bccc0f065f447519b2d69 (diff) | |
| download | perlweeklychallenge-club-ff082d52badb7502859f028c1f8f5785d1d06ad4.tar.gz perlweeklychallenge-club-ff082d52badb7502859f028c1f8f5785d1d06ad4.tar.bz2 perlweeklychallenge-club-ff082d52badb7502859f028c1f8f5785d1d06ad4.zip | |
Merge pull request #5528 from 2colours/new-branch
Challenge #147 added by new enforcer 2colours :)
| -rw-r--r-- | challenge-147/2colours/README | 1 | ||||
| -rwxr-xr-x | challenge-147/2colours/raku/ch-1.raku | 12 | ||||
| -rwxr-xr-x | challenge-147/2colours/raku/ch-2.raku | 18 |
3 files changed, 31 insertions, 0 deletions
diff --git a/challenge-147/2colours/README b/challenge-147/2colours/README new file mode 100644 index 0000000000..6894fbec08 --- /dev/null +++ b/challenge-147/2colours/README @@ -0,0 +1 @@ +Solution By Márton Polgár. diff --git a/challenge-147/2colours/raku/ch-1.raku b/challenge-147/2colours/raku/ch-1.raku new file mode 100755 index 0000000000..5757fef8da --- /dev/null +++ b/challenge-147/2colours/raku/ch-1.raku @@ -0,0 +1,12 @@ +#!/usr/bin/env raku + +use experimental :cached; + +multi ltprimes(0, $) { ('') } +multi ltprimes($digits, $base) is cached { + (1..^$base).map(*.base: $base) X~ ltprimes($digits-1, $base) + andthen .grep(&is-prime)>>.Int +} + + +(1..*).map(*.<primes(10).Slip).head(20).say; diff --git a/challenge-147/2colours/raku/ch-2.raku b/challenge-147/2colours/raku/ch-2.raku new file mode 100755 index 0000000000..ca0dd53bd4 --- /dev/null +++ b/challenge-147/2colours/raku/ch-2.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +sub is-pentagon($c) { (1+sqrt(1+24*$c))%%6 } + +sub P($n) { $n*(3*$n-1) div 2 #`(make rationals faster, pretty please) } + +OUTSIDE: +for 1..Inf -> $bigger { + for 1..^$bigger -> $smaller { + my $bigger-p = P($bigger); + my $smaller-p = P($smaller); + #my ($bigger-p, $smaller-p) = (P($bigger), P($smaller)); eliminate the runtime overhead of this destructuring, pretty please + if is-pentagon($bigger-p + $smaller-p) && is-pentagon($bigger-p - $smaller-p) { + say "P($bigger)=$bigger-p and P($smaller)=$smaller-p"; + last OUTSIDE; + } + } +} |
