Matt Owen

source code for "files/pe/pe_047.pl"

return to portfolio
  1.  #!/usr/bin/perl
  2.  
  3.  use strict;
  4.  use warnings;
  5.  
  6.  # file handle
  7.  open PRIMES, "primes_under_1000000.TXT";
  8.  
  9.  
  10.  # init
  11.  my @primes;
  12.  @primes = map { chomp; $_ } <PRIMES>;
  13.  @primes = grep { $_ < sqrt 10**6 } @primes;
  14.  
  15.  
  16.  for my $c (10000..10**6) {
  17.  
  18.   my ($in_a_row) = 0;
  19.   for my $k (0..4-1) {
  20.  
  21.   my ($count) = 0;
  22.   for my $p (@primes) {
  23.  
  24.   $count++ unless ($c+$k)%$p;
  25.   last if $count >= 4;
  26.  
  27.   }
  28.  
  29.   $in_a_row++ if $count >= 4;
  30.   }
  31.  
  32.   if ($in_a_row >= 4) {
  33.   print $c;
  34.   goto GONE;
  35.   }
  36.  }
  37.  
  38.  
  39.  # close handle
  40.  GONE: close PRIMES;