diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2022-03-30 21:07:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-30 21:07:08 +0100 |
| commit | f06e5e056682a6da664395eb547773f83d9e5500 (patch) | |
| tree | 99496825d55bd96bd2a98cbd3b608767b9674960 | |
| parent | ef37099d5d5a371e679d06d6b2e45c7ca5302bbb (diff) | |
| parent | c4c4648c887939f8837228c23db2ad50753d881a (diff) | |
| download | perlweeklychallenge-club-f06e5e056682a6da664395eb547773f83d9e5500.tar.gz perlweeklychallenge-club-f06e5e056682a6da664395eb547773f83d9e5500.tar.bz2 perlweeklychallenge-club-f06e5e056682a6da664395eb547773f83d9e5500.zip | |
Merge pull request #5862 from polettix/polettix/pwc158
Add polettix's solution to challenge-158
| -rw-r--r-- | challenge-158/polettix/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-158/polettix/blog1.txt | 1 | ||||
| -rw-r--r-- | challenge-158/polettix/perl/ch-1.pl | 9 | ||||
| -rw-r--r-- | challenge-158/polettix/perl/ch-2.pl | 14 | ||||
| -rw-r--r-- | challenge-158/polettix/perl/cpanfile | 1 | ||||
| -rw-r--r-- | challenge-158/polettix/perl/cpanfile.snapshot | 38 | ||||
| -rw-r--r-- | challenge-158/polettix/raku/ch-1.raku | 5 | ||||
| -rw-r--r-- | challenge-158/polettix/raku/ch-2.raku | 11 |
8 files changed, 80 insertions, 0 deletions
diff --git a/challenge-158/polettix/blog.txt b/challenge-158/polettix/blog.txt new file mode 100644 index 0000000000..0a5bf6d4c0 --- /dev/null +++ b/challenge-158/polettix/blog.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2022/03/29/pwc158-additive-primes/ diff --git a/challenge-158/polettix/blog1.txt b/challenge-158/polettix/blog1.txt new file mode 100644 index 0000000000..2e28310797 --- /dev/null +++ b/challenge-158/polettix/blog1.txt @@ -0,0 +1 @@ +https://github.polettix.it/ETOOBUSY/2022/03/30/pwc158-first-series-cuban-primes/ diff --git a/challenge-158/polettix/perl/ch-1.pl b/challenge-158/polettix/perl/ch-1.pl new file mode 100644 index 0000000000..e59692afea --- /dev/null +++ b/challenge-158/polettix/perl/ch-1.pl @@ -0,0 +1,9 @@ +#!/usr/bin/env perl +use v5.24; +use FindBin '$Bin'; +use lib "$Bin/local/lib/perl5"; +use ntheory 'is_prime'; +use List::Util 'sum'; + +my $M = shift // 100; +say join ', ', grep { is_prime($_) && is_prime sum split m{}mxs } 2 .. $M; diff --git a/challenge-158/polettix/perl/ch-2.pl b/challenge-158/polettix/perl/ch-2.pl new file mode 100644 index 0000000000..34d08e5eb2 --- /dev/null +++ b/challenge-158/polettix/perl/ch-2.pl @@ -0,0 +1,14 @@ +#!/usr/bin/env perl +use v5.24; +use FindBin '$Bin'; +use lib "$Bin/local/lib/perl5"; +use ntheory 'is_prime'; + +my $M = shift // 1000; +my @cubans; +my $y = 1; +while ((my $p = 3 * $y * ($y + 1) + 1) <= $M) { + push @cubans, $p if is_prime($p); + ++$y; +} +say join(', ', @cubans), '.'; diff --git a/challenge-158/polettix/perl/cpanfile b/challenge-158/polettix/perl/cpanfile new file mode 100644 index 0000000000..91dda9616f --- /dev/null +++ b/challenge-158/polettix/perl/cpanfile @@ -0,0 +1 @@ +requires 'Math::Prime::Util'; diff --git a/challenge-158/polettix/perl/cpanfile.snapshot b/challenge-158/polettix/perl/cpanfile.snapshot new file mode 100644 index 0000000000..2fd600a3af --- /dev/null +++ b/challenge-158/polettix/perl/cpanfile.snapshot @@ -0,0 +1,38 @@ +# carton snapshot format: version 1.0 +DISTRIBUTIONS + Math-Prime-Util-0.73 + pathname: D/DA/DANAJ/Math-Prime-Util-0.73.tar.gz + provides: + Math::Prime::Util 0.73 + Math::Prime::Util::ChaCha 0.73 + Math::Prime::Util::Entropy 0.73 + Math::Prime::Util::MemFree 0.73 + Math::Prime::Util::PP 0.73 + Math::Prime::Util::PrimeArray 0.73 + Math::Prime::Util::PrimeIterator 0.73 + ntheory 0.73 + requirements: + Carp 0 + Config 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + Math::BigFloat 1.59 + Math::BigInt 1.88 + Math::Prime::Util::GMP 0.50 + Tie::Array 0 + XSLoader 0.01 + base 0 + constant 0 + perl 5.006002 + Math-Prime-Util-GMP-0.52 + pathname: D/DA/DANAJ/Math-Prime-Util-GMP-0.52.tar.gz + provides: + Math::Prime::Util::GMP 0.52 + requirements: + Carp 0 + Exporter 5.57 + ExtUtils::MakeMaker 0 + Fcntl 0 + XSLoader 0.01 + base 0 + perl 5.006002 diff --git a/challenge-158/polettix/raku/ch-1.raku b/challenge-158/polettix/raku/ch-1.raku new file mode 100644 index 0000000000..2168a14439 --- /dev/null +++ b/challenge-158/polettix/raku/ch-1.raku @@ -0,0 +1,5 @@ +#!/usr/bin/env raku +use v6; +sub MAIN (Int:D $M = 100) { + (2 .. $M).grep({$_.is-prime && $_.comb.sum.is-prime}).join(', ').put; +} diff --git a/challenge-158/polettix/raku/ch-2.raku b/challenge-158/polettix/raku/ch-2.raku new file mode 100644 index 0000000000..083bf31b55 --- /dev/null +++ b/challenge-158/polettix/raku/ch-2.raku @@ -0,0 +1,11 @@ +#!/usr/bin/env raku +use v6; +sub MAIN (Int:D $M = 1000) { + put gather { + my $y = 1; + while (my $p = 3 * $y * ($y + 1) + 1) <= $M { + take $p if $p.is-prime; + ++$y; + } + }.join(', '), '.'; +} |
