Don't like ads? PRO users don't see any ads ;-)
Guest

Recursive solution

By: a guest on May 5th, 2012  |  syntax: PHP  |  size: 0.47 KB  |  hits: 26  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <?php
  2. echo calc(600851475143) . "\n";
  3.  
  4. function calc( $num, $i=3, $prime=0, $sqrt=-1 ) {
  5.   if ($sqrt < 0) $sqrt = ceil(sqrt($num));
  6.   if ($i >= $sqrt) return $prime;
  7.   if ($num % $i == 0)
  8.     if (prime($i))
  9.       $prime = $i;
  10.   return calc($num, ++$i, $prime, $sqrt);
  11. }
  12.  
  13. function prime( $num, $i=3, $sqrt=-1 ) {
  14.   if ($sqrt < 0) $sqrt = ceil(sqrt($num));
  15.   if ($i > $sqrt) return true;
  16.   if ($num % $i == 0) return false;
  17.   return prime($num, ++$i, $sqrt);
  18. }
  19. ?>