#!/usr/bin/perl sub cr{substr(shift, 0, -1-(shift))} sub cl{substr(shift, (shift)+1)} sub ip{$n=shift;$r=`factor $n`;chomp $r;$r=~s/$n: //;int($r == $n)} sub variations{ local $n = shift; local $i = 0; @res = ($n); for($i=0;$i<=(length $n)-2;$i++) { push @res, cr $n, $i; push @res, cl $n, $i; } return @res; } for($i=100000;$i>8;$i--) { @vars = variations $i; $error = 0; for($j=0;$j<=$#vars;$j++) { if(ip($vars[$j]) == 0) { $error = 1; } last if $error; } if($error == 0) { print "Correct: $i\n"; $sum += $i; } } print $sum.$/;