40) )
die();
$magic = ($ln % 4);
$fns = array();
$sns = array();
for ( $j = 0; $j < 40; $j++ )
{
if ( ($j % 4) == $magic )
{
$fns[] = $j;
$tmp = ($j + 2);
if ( $tmp > 39 )
$tmp = ($tmp-40);
$sns[] = $tmp;
}
}
sort($fns);
sort($sns);
$valid = 100;
//print_r($fns);
//print_r($sns);
print '
';
print '
';
for ( $j = 0; $j < 10; $j++ ) //fnum
{
print '';
for ( $k = 0; $k < 10; $k++) //snum
{
$skip = false;
if ( // eliminate impossible permutations.
($fns[$j] - $sns[$k]) == -38 ||
($fns[$j] - $sns[$k]) == -34 ||
($fns[$j] - $sns[$k]) == 2 ||
($fns[$j] - $sns[$k]) == 6 ||
($sns[$k] - $ln) == -38 ||
($sns[$k] - $ln) == 2 ||
($ln - $sns[$k]) == -38 ||
($ln - $sns[$k]) == 2
)
{
$skip = true; $valid--;
}
$str = sprintf( '%2d %2d %2d', $fns[$j], $sns[$k], $ln );
if ( $skip ) print '';
print str_replace( ' ', ' ', $str );
if ( $skip ) print '';
print '
';
}
print '
';
}
print '
total valid perms = ' . $valid . '';
foot();
function foot ( )
{
print '' . "\n" . '