判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整
除,则表明此数不是素数,反之是素数。
2 回答
灬紫羽
TA贡献107条经验 获得超71个赞
<?php
/*
* 返回某个范围内的所有素数
* @param $startNumber 开始数字
* @param $endNumber 结束数字
*/
function showPrimeNumber($startNumber,$endNumber){
if($startNumber == 1){
$startNumber +=1;
}
$numbers = array();//保存所有的数字
$compositeNums = array();//保存所有的合数
for($i=$startNumber;$i<$endNumber;$i++){
array_push($numbers,$i);
for($j=2;$j<$i;$j++){
if($i%$j == 0){
array_push($compositeNums,$i);
break;
}
}
}
$primeNums = array_diff($numbers,$compositeNums);//保存所有的素数
return $primeNums;
}
$result = showPrimeNumber(101,200);
var_dump($result);
echo "素数个数:".count($result);
LIANHK
TA贡献78条经验 获得超17个赞
$count = 0;
for($i = 101; $i <= 200; $i ++) {
for($j = 2; $j < $i; $j ++) {
// 如果j能被i整出在跳出循环
if ($i % $j == 0)
break;
}
// 判断循环是否提前跳出,如果j<i说明在2~j之间,i有可整出的数
if ($j >= $i) {
$count ++;
printf ( "%d ", $i );
// 换行,用count计数,每五个数换行
if ($count % 5 == 0)
printf ( "\n" );
}
}望采纳
- 2 回答
- 1 关注
- 1572 浏览
添加回答
举报
0/150
提交
取消
