diff options
| author | Ruben Westerberg <drclaw@mac.com> | 2019-08-22 20:40:53 +1000 |
|---|---|---|
| committer | Ruben Westerberg <drclaw@mac.com> | 2019-08-22 20:40:53 +1000 |
| commit | 92c9dc707443f1d46ec3a84860c280cf190be249 (patch) | |
| tree | 84c7183b59811e83c90d86977c8fc31b3f0e4299 | |
| parent | a9c377fd2b9b8db334ebb96113b98bd7c14d7ec4 (diff) | |
| download | perlweeklychallenge-club-92c9dc707443f1d46ec3a84860c280cf190be249.tar.gz perlweeklychallenge-club-92c9dc707443f1d46ec3a84860c280cf190be249.tar.bz2 perlweeklychallenge-club-92c9dc707443f1d46ec3a84860c280cf190be249.zip | |
ch-1 solutions p5 and p6
| -rwxr-xr-x | challenge-022/ruben-westerberg/perl5/ch-1.pl | 32 | ||||
| -rwxr-xr-x | challenge-022/ruben-westerberg/perl6/ch-1.p6 | 14 |
2 files changed, 46 insertions, 0 deletions
diff --git a/challenge-022/ruben-westerberg/perl5/ch-1.pl b/challenge-022/ruben-westerberg/perl5/ch-1.pl new file mode 100755 index 0000000000..8c54633ad7 --- /dev/null +++ b/challenge-022/ruben-westerberg/perl5/ch-1.pl @@ -0,0 +1,32 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use v5.26; + +#Find the first 10 sexy primes + +my $i=1; +my $count=10; +my @primes; +while ($count) { + if (isPrime($i)) { + @primes=grep { $i-$_ <=6} @primes; + my @match=grep {$i-6 == $_} @primes; + if (@match) { + printf "Sexy Pair: %d,%d\n", $match[0], $i; + $count--; + } + push @primes, $i; + } + $i++; +} + +sub isPrime { + my $t=shift; + my $sum=0; + for (1..(int $t/2)) { + $sum++ if $t % $_ == 0; + last if $sum >1; + } + $sum==1; +} diff --git a/challenge-022/ruben-westerberg/perl6/ch-1.p6 b/challenge-022/ruben-westerberg/perl6/ch-1.p6 new file mode 100755 index 0000000000..66552158d6 --- /dev/null +++ b/challenge-022/ruben-westerberg/perl6/ch-1.p6 @@ -0,0 +1,14 @@ +#!/usr/bin/env perl6 + +((1..*).grep: *.is-prime).map(->$p { + state @search; + state $count =10; + @search=@search.grep({$p-$_ <=6}); + my @match=@search.grep({$p-6 == $_}); + if @match { + put "Sexy Pair: @match[0],$p"; + last unless --$count; + } + @search.push: $p; +}); + |
