#!/usr/bin/env perl use warnings; use strict; use feature ':5.10'; my @primes = (2,3,5,7,11,13,17) ; my @startset = (0..209); my @bestatstartofprime = @startset; my @bestincurrentprime = @startset; foreach my $x (@primes) { @bestatstartofprime = @bestincurrentprime; say "1"," ",$x," ",scalar @bestatstartofprime, " ",scalar @bestincurrentprime; my @mods = (0..($x-1)); foreach my $y (@mods) { say "2"," ",$x," ",$y," ",scalar @bestatstartofprime," ",scalar @bestincurrentprime ; my @cleared = grep { ($_+$y) % $x ne 0} @bestatstartofprime; say "3", " ", $x," ",$y," ",scalar @bestatstartofprime," ",scalar @bestincurrentprime," ",scalar @cleared; if (scalar @cleared lt scalar @bestincurrentprime) { say "4 loop a"," ", $x," ",$y," ",scalar @bestatstartofprime, " ", scalar @bestincurrentprime," ",scalar @cleared; @bestincurrentprime = @cleared; say "4 loop b"," ", $x," ",$y," ",scalar @bestatstartofprime, " ", scalar @bestincurrentprime," ",scalar @cleared; } say "5", " ", $x," ",$y," ",scalar @bestatstartofprime," ",scalar @bestincurrentprime; } }