1. 程式人生 > >php求不大於n的最大質數

php求不大於n的最大質數

<?php
  2 
  3 function check( $n ){
  4     $n = (int)$n;
  5     if( $n <= 1 ) return false;
  6     $arr = array(2,3);
  7     if ( in_array($n , $arr ) ) return $n;
  8     for( $i=2;$i<=$n;$i++ ){
  9         $k = 0;
 10         for( $j=1;$j<=$i;$j++ ){
 11             if( $i%$j == 0 ) $k++;
 12         }
 13         if( $k == 2 ) array_push($arr , $i);
 14     }
 15     return max( $arr );
 16 }
 17 fwrite(STDOUT , '輸入一個數字:');
 18 $n = trim(fgets(STDIN));
 19 $max = check($n );
 20 
 21 $str = $max ? $max.'是不大於'.$n.'的最大質數' : '輸入大於1的數' ;
 22 echo $str;