找回密码
 注册

[PHP] PHP 获取 1 - N 以内的所有质数

php 发表于 2013/1/29 13:48 | 显示全部楼层 |阅读模式
怎么计数1-N以内的所有质数?
不论是PHP还是js,使用for语句都能轻松实现.
  1. <?php
  2. /*
  3. * 获取1到n之间的所有质数
  4. * www.qSyz.net 代码
  5. * @param int $n 最大数,必须为正整数
  6. * @ return array 返回所有符合条件的质数,没有则返回false
  7. */
  8. function get_prime_numbers($n){
  9.         if(!preg_match('/^[1-9][\d]*$/',$n) || $n<=1){
  10.                 return false;
  11.         }
  12.         $return = false;
  13.         for($i=1;$i<=$n;$i++){
  14.                 $num = 0;
  15.                 for($j=1;$j<=$i;$j++){
  16.                         if (!($i%$j)){
  17.                                 $num++;
  18.                         }
  19.                 }
  20.                 if($num <= 2 && $num !==1){
  21.                         $return[] = $i;
  22.                 }
  23.         }
  24.         return $return;
  25. }
  26. $prime_numbers = get_prime_numbers(12);
  27. print_r($prime_numbers);
  28. ?>
复制代码

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表