ClarkeRubber

Pseudo-random number

Aug 7th, 2011
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.08 KB | None | 0 0
  1. <?php
  2. $seed = "a james";
  3.  
  4. //compile list of prime numbers (2 - 104729)
  5. $fh = fopen("primes.txt", 'r');
  6. for($j = 0; $j < 10000; $j++){
  7.   $primes[$j] = trim(fgets($fh));
  8. }
  9.  
  10. //Create pseudo random number for each character in the seed
  11. $len = strlen($seed);
  12. for($i = 1; $i < $len+1; $i++){
  13.   //number = absoluteValueOf(decimalValueOfCharacter ^ (characterPosition (mod 6) + 1) (mod 104730) + 1); 104730 is 1 greater than the 10000th prime.
  14.   //It's not very random, but it will do.
  15.   $str[$i] = abs((pow(ord($seed[$i-1]), ($i%6)+1)%104730) + 1);
  16.   $j = $i;
  17. }
  18.  
  19. //display each pseudo random number for each character in the seed
  20. foreach($str as $echo){
  21.   echo "$echo ";
  22. }
  23.  
  24. echo "<br />";
  25.  
  26. //find the closest prime number to each of the pseudo random numbers
  27. for($i = 1; $i <= $j; $i++){
  28.   $dist = 104729;
  29.   foreach($primes as $test){
  30.     if(abs($test - $str[$i]) < $dist){
  31.       $dist = abs($test - $str[$i]);
  32.       $primeRelation[$i] = $test;
  33.     }else{
  34.       break 1;
  35.     }
  36.   }
  37. }
  38.  
  39. //display each of the closest primes
  40. foreach($primeRelation as $echo){
  41.   echo "$echo ";
  42. }
  43. ?>
Advertisement
Add Comment
Please, Sign In to add comment