手机游戏
经典单机
角色扮演
休闲益智
动作冒险
射击枪战
赛车竞速
模拟经营
解密闯关
策略战争
手机软件
时尚购物
体育运动
资讯阅读
教育学习
摄影摄像
生活服务
效率办公
聊天社交
视频盒子
其它软件
新闻资讯
游戏攻略
软件教程
游戏问答
软件资讯
软件技术
叨叨念念
网站技术
技术问答
软件教程
资源资料
原创作品
代码学习
网页设计
网络技术
合集
合集
游戏合集
软件合集
资讯合集
视频合集
首页 > 代码学习 > 代码学习

[PHP入门]求素数

作者:星知苑 时间:2011-11-10 13:03:59

例如:求1000以内的素数。
素数就是大于1的自然数中除了1和本身之外没有其他公因数的数。

我在这里列举几种方法,仅供参考,学习php编程的思路。
方法一:判断素数的办法是用1到某个数之间的所有数去除这个数,如果能够整除这个数的数超过2个那么这个数就不是素数,反之如果能够整除这个数的数只有1个或者2个,那么他就是素数.[break]
<?php
$n=1000;
echo $n."以内的素数:";
for($m=2;$m<=$n;$m++){   //第一层循环,循环1-$n直接的所有数
$k=0;                                 //计数器初始化
for($i=1;$i<=$m;$i++){        //第二层循环,循环1-$m直接的所有数,$m属于区间【1,$n】
if($m%$i==0){                    //取模运算,如果余数为0,K自增1
$k++;
}
}
if($k==2){                          //如果k的值等于1或者2,那么是素数,将其输出
echo $m."-";
}
}
?>


方法二:判断素数的办法是除了1和本身外,有其它能够整除这个数的数,那么这个数就不是素数
<?php
$isPrime=true;
$n=1000;
echo $n."以内的素数:";
for($i=2;$i<$n;$i++){              //第一层循环,循环1-$n直接的所有数
   for($j=2;$j<=intval(sqrt($i));$j++){   //第二层循环,$i开平方,这里的intval是10进制取整数的意思
     if($i%$j==0){                              //取模运算,如果余数为0,输出$isPrime=false,并跳出第二层循环
       $isPrime=false;
       break;
     }
     $isPrime=true;
   }
   if($isPrime){                               //如果$isPrime=true,将$i输出
     echo $i ." ";
   }
}
?>


方法三:这个方法其实和方法二差不多,思路是同一个,实现的代码不同。
<?php
  $ss = 2;            //声明变量$ss,赋初值为最小的素数
  $max = 1000;          //声明变量$max,赋值为最大的范围
  $arr = array();          //声明一个数组$arr
  echo $max."以内的素数为:";
  while($ss < $max):        //判断变量是否在允许的范围内
    $boo = false;        //声明一个布尔变量$boo,初值为false
    foreach($arr as $value):               //使用foreach语句遍历$arr数组
      if($ss % $value == 0):          //如果变量$ss 能够被数组元素整除
        $boo = true;              //将布尔变量赋值为true
        break;      //跳出当前循环
      endif;
    endforeach;
    if(!$boo):          //判断变量$boo值
      echo $ss." ";            //如果$boo为假,则说明当前变量$ss为素数,输出素数
      $arr[count($arr)] = $ss;       //同时存到数组中
    endif;
    $ss++;            //变量$ss加1
  endwhile;            //结束循环
?>

良心推荐

破解版游戏下载推荐
  • 成长王国中文破解版
  • 叫我传奇哥破解版
  • 塔防英雄2破解版
  • 塔塔星座破解版下载
  • 濡沫江湖破解版
  • 江湖风云录破解版
相信很多的玩家不管是在玩游戏还是在找游戏的很时候,都是会先看看有没有游戏破解的了,因为在游戏破解了之后是更容易受到玩家的喜爱,游戏里面的不管是功能还是各种角色等都是已经全部可以使用也是满级的等等,很多的种类的小编为了带了的不仅是一些比较好玩的破解的游戏,还是很火爆有的还可以赚钱的哦。

相关资讯