From 92c9dc707443f1d46ec3a84860c280cf190be249 Mon Sep 17 00:00:00 2001 From: Ruben Westerberg Date: Thu, 22 Aug 2019 20:40:53 +1000 Subject: ch-1 solutions p5 and p6 --- challenge-022/ruben-westerberg/perl5/ch-1.pl | 32 ++++++++++++++++++++++++++++ challenge-022/ruben-westerberg/perl6/ch-1.p6 | 14 ++++++++++++ 2 files changed, 46 insertions(+) create mode 100755 challenge-022/ruben-westerberg/perl5/ch-1.pl create mode 100755 challenge-022/ruben-westerberg/perl6/ch-1.p6 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; +}); + -- cgit