diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-04-01 22:44:45 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-04-01 22:44:45 +0100 |
| commit | d4623b0f8f6459704d5e71d3e09dd779ca07f05b (patch) | |
| tree | b29641052079be800e50d2462ae18630b2dee220 /challenge-158 | |
| parent | c92e77ac7e5f838eedbc467a767ec7a7803d2a29 (diff) | |
| download | perlweeklychallenge-club-d4623b0f8f6459704d5e71d3e09dd779ca07f05b.tar.gz perlweeklychallenge-club-d4623b0f8f6459704d5e71d3e09dd779ca07f05b.tar.bz2 perlweeklychallenge-club-d4623b0f8f6459704d5e71d3e09dd779ca07f05b.zip | |
- Added solutions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-158')
| -rw-r--r-- | challenge-158/laurent-rosenfeld/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-158/laurent-rosenfeld/perl/ch-1.pl | 21 | ||||
| -rw-r--r-- | challenge-158/laurent-rosenfeld/perl/ch-2.pl | 21 | ||||
| -rw-r--r-- | challenge-158/laurent-rosenfeld/raku/ch-1.raku | 1 | ||||
| -rw-r--r-- | challenge-158/laurent-rosenfeld/raku/ch-2.raku | 6 |
5 files changed, 50 insertions, 0 deletions
diff --git a/challenge-158/laurent-rosenfeld/blog.txt b/challenge-158/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..12852602f3 --- /dev/null +++ b/challenge-158/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2022/03/perl-weekly-challenge-158-additive-primes-and-cuban-primes.html diff --git a/challenge-158/laurent-rosenfeld/perl/ch-1.pl b/challenge-158/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..15e18d27b9 --- /dev/null +++ b/challenge-158/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,21 @@ +use strict; +use warnings; +use feature "say"; + +my @small_primes = (2, 3, 5, 7); + +sub is_prime { + my $n = shift; + for my $p (@small_primes) { + return 1 if $p == $n; + return 0 if $n % $p == 0; + } + return 1; +} + +for my $n (grep {is_prime $_} 2..100) { + my $sum = 0; + $sum += $_ for split '', $n; + print "$n " if is_prime $sum; +} +say ""; diff --git a/challenge-158/laurent-rosenfeld/perl/ch-2.pl b/challenge-158/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..9b0b36e684 --- /dev/null +++ b/challenge-158/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,21 @@ +use strict; +use warnings; +use feature "say"; + +my @small_primes = (2, 3, 5, 7, 11,13, 17, 19, 23, 29, 31); + +sub is_prime { + my $n = shift; + for my $p (@small_primes) { + return 1 if $p == $n; + return 0 if $n % $p == 0; + } + return 1; +} + +for my $n (1..50) { + my $p = 3 * $n ** 2 + 3 * $n + 1; + last if $p > 1000; + print "$p, " if is_prime $p; +} +say " "; diff --git a/challenge-158/laurent-rosenfeld/raku/ch-1.raku b/challenge-158/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..17b197c749 --- /dev/null +++ b/challenge-158/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1 @@ +say join ", ", grep { .is-prime and .comb.sum.is-prime }, 1..100; diff --git a/challenge-158/laurent-rosenfeld/raku/ch-2.raku b/challenge-158/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..10c74e3bcb --- /dev/null +++ b/challenge-158/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,6 @@ +for 1..Inf -> $n { + my $p = 3 * $n ** 2 + 3 * $n + 1; + last if $p > 1000; + print "$p, " if $p.is-prime; +} +say " "; |
