为了账号安全,请及时绑定邮箱和手机立即绑定

求教:用php函数算题

求教:用php函数算题

PHP
BIGBANG荣 2016-05-15 17:50:37
判断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);


查看完整回答
1 反对 回复 2016-05-16
?
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" );
    }
}

望采纳

查看完整回答
反对 回复 2016-05-18
  • 2 回答
  • 1 关注
  • 1433 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信