All pastes #373794 Raw Edit

Miscellany

public php v1 · immutable
#373794 ·published 2007-02-27 00:31 UTC
rendered paste body
<?php/*** master lock permutation calculator** joe@mrsomeone.com** 22 nov 2005*/?><html><head><title>master lock permutation calculator by joe</title><style type='text/css'>body {   font-family: monospace;   font-size: 100%;}</style></head><body><form action='' type='get'><input type='text' name='lnum' /> [last number]<br /><input type='submit' value='  Calculate... ' /></form><?phpif ( !isset($_GET['lnum']) )   foot();$ln = intval( $_GET['lnum'] );if ( ($ln < 0) || ($ln > 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 '<br /><br />';print '<div style="float: left; border-right: 1px solid #666; padding-right: 1em; margin-right: 1em;"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></div>';for ( $j = 0; $j < 10; $j++ ) //fnum{   print '<div style="float: left; border-right: 1px solid #666; padding-right: 1em; margin-right: 1em;">';   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 '<del>';      print str_replace( ' ', '&nbsp;', $str );      if ( $skip ) print '</del>';      print '<br />';   }   print '</div>';   }print '<br style="clear: both;" /><br />total valid perms = ' . $valid . '';foot();function foot ( ){   print '</body>' . "\n" . '</html>';   die();}?>