diff options
| author | Jaime <42359730+bracteatus@users.noreply.github.com> | 2019-06-14 06:33:25 -0600 |
|---|---|---|
| committer | Jaime <42359730+bracteatus@users.noreply.github.com> | 2019-06-14 06:33:25 -0600 |
| commit | b3aeb665d757158d9c558169b9d791537cb44f96 (patch) | |
| tree | fb52a9f972ec5f7d69508c4c9dd857dad699257d | |
| parent | 102c2efaaf6504f06120cb03f537e1964b229ead (diff) | |
| download | perlweeklychallenge-club-b3aeb665d757158d9c558169b9d791537cb44f96.tar.gz perlweeklychallenge-club-b3aeb665d757158d9c558169b9d791537cb44f96.tar.bz2 perlweeklychallenge-club-b3aeb665d757158d9c558169b9d791537cb44f96.zip | |
Update ch-1.pl
Iterate primorial numbers to find the first Euclid number that is not prime.
| -rw-r--r-- | challenge-012/jaime/perl5/ch-1.pl | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/challenge-012/jaime/perl5/ch-1.pl b/challenge-012/jaime/perl5/ch-1.pl index 3ecead2762..935c585fd5 100644 --- a/challenge-012/jaime/perl5/ch-1.pl +++ b/challenge-012/jaime/perl5/ch-1.pl @@ -6,3 +6,19 @@ # primes are called the Euclid Numbers (see wiki). Write a script that # finds the smallest Euclid Number that is not prime. +sub is_prime { # is a given positive integer an odd prime? + my ($n) = @_; + for (my $i = 3; $i < $n; $i += 2) { # determine if odd number is prime. + return 0 unless $n % $i; + } + return 1; # odd number is prime. +} + +my $p = 2; # start with second primorial +for (my $i = 3; ;$i += 2) { + next unless is_prime $i; + $p *= $i; # next primorial + last unless is_prime 1+$p; +} + +print 1+$p; |
