diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2022-04-03 18:25:32 -0400 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2022-04-03 18:25:32 -0400 |
| commit | b422e5e81236a1c24d53f281ffd5d166f7f01f30 (patch) | |
| tree | e691f4de4871f474358b07e3b6cc4c94bb8cd635 /challenge-158 | |
| parent | cac254d63bca6e312efe7f414b164e6e0510d1bb (diff) | |
| download | perlweeklychallenge-club-b422e5e81236a1c24d53f281ffd5d166f7f01f30.tar.gz perlweeklychallenge-club-b422e5e81236a1c24d53f281ffd5d166f7f01f30.tar.bz2 perlweeklychallenge-club-b422e5e81236a1c24d53f281ffd5d166f7f01f30.zip | |
Challenge 158 by Jaldhar H. Vyas.
Diffstat (limited to 'challenge-158')
| -rw-r--r-- | challenge-158/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-158/jaldhar-h-vyas/perl/ch-1.pl | 36 | ||||
| -rwxr-xr-x | challenge-158/jaldhar-h-vyas/perl/ch-2.pl | 39 | ||||
| -rwxr-xr-x | challenge-158/jaldhar-h-vyas/raku/ch-1.sh | 3 | ||||
| -rwxr-xr-x | challenge-158/jaldhar-h-vyas/raku/ch-2.raku | 18 |
5 files changed, 97 insertions, 0 deletions
diff --git a/challenge-158/jaldhar-h-vyas/blog.txt b/challenge-158/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..15af04330f --- /dev/null +++ b/challenge-158/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2022/04/perl_weekly_challenge_week_158.html
\ No newline at end of file diff --git a/challenge-158/jaldhar-h-vyas/perl/ch-1.pl b/challenge-158/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..727512b2fe --- /dev/null +++ b/challenge-158/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,36 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +sub isPrime { + my ($n) = @_; + + if ($n < 2) { + return undef; + } + + if ($n == 2) { + return 1; + } + + for my $i (2 .. sqrt($n)) { + if ($n % $i == 0) { + return undef; + } + } + + return 1; +} + +sub sum { + my ($arr) = @_; + my $total = 0; + + for my $elem (@{$arr}) { + $total += $elem; + } + + return $total; +} + +say join q{, }, grep { isPrime(sum([split //])) } grep { isPrime($_) } 2 .. 100; diff --git a/challenge-158/jaldhar-h-vyas/perl/ch-2.pl b/challenge-158/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..1b4e484b26 --- /dev/null +++ b/challenge-158/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,39 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +sub isPrime { + my ($n) = @_; + + if ($n < 2) { + return undef; + } + + if ($n == 2) { + return 1; + } + + for my $i (2 .. sqrt($n)) { + if ($n % $i == 0) { + return undef; + } + } + + return 1; +} + +my $y = 1; +my @cubans; + +while(1) { + my $p = 3 * $y ** 2 + 3 * $y + 1; + if ($p > 1000) { + last; + } + if (isPrime($p)) { + push @cubans, $p; + } + $y++; +} + +say join q{, }, @cubans;
\ No newline at end of file diff --git a/challenge-158/jaldhar-h-vyas/raku/ch-1.sh b/challenge-158/jaldhar-h-vyas/raku/ch-1.sh new file mode 100755 index 0000000000..7210ef4e3f --- /dev/null +++ b/challenge-158/jaldhar-h-vyas/raku/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e '(2 .. 100).grep({ .is-prime }).grep({ ([+] .comb).is-prime }).join(q{, }).say;' diff --git a/challenge-158/jaldhar-h-vyas/raku/ch-2.raku b/challenge-158/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..a890d48c72 --- /dev/null +++ b/challenge-158/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,18 @@ +#!/usr/bin/raku + +sub MAIN() { + my $y = 1; + + gather { + loop { + my $p = 3 * $y ** 2 + 3 * $y + 1; + if $p > 1000 { + last; + } + if ($p.is-prime) { + take $p; + } + $y++; + } + }.join(q{, }).say; +} |
