编程与数学3 编程找出200以内所有的质数

利用PHP编程,找出1至20(任意整数区间)所有的质数

找出给定范围的所有质数

编程思考

这道题,我用PHP编程,找出了给定范围的所有质数。程序代码部分,只有30多行,如图:


编程与数学3 编程找出200以内所有的质数_第1张图片
找质数 PHP程序

代码

    ";
    echo "(请在网址后面粘贴:?min=1&max=200";echo "
"; echo "其中,1是最小的数,200是最大的数,可以修改数字。)";echo "
"; echo "
"; $arrzhi = array(); for($i=$min;$i<=$max;$i++){ $sqri=sqrt($i); $temp=array(); echo $i;echo "的因数有"; for($j=1;$j<=$sqri ;$j++ ){ if($i % $j == 0){ array_push($temp,$j); if($j<>$i/$j) array_push($temp,$i/$j); } } if(count($temp) == 2) array_push($arrzhi,$i); sort($temp); echo count($temp)."个,分别是:"; for($k=0;$k0 and $k<>count($temp)) echo ","; echo $temp[$k]; } echo "
"; } echo "
"; echo $_GET['min'];if($_GET['min']) echo "~";echo $_GET['max'];echo "质数有";echo count($arrzhi);echo "个:
"; for($k=0;$k0 and $k<>count($arrzhi)) echo " , "; echo $arrzhi[$k]; } echo "
"; ?>
代码解析

我用两个GET变量分别存储整数的范围,从min(最小数)到max(最大数),找给定范围的所有的质数。
这里借鉴了找因数的结果。(怎样找因数?请参阅我的另一篇文章,编程与数学2 编程找出200以内数的所有因数:https://www.jianshu.com/p/f9c283e11375)在找因数的基础上,将只有两个因数的数,存储到质数数组中。然后依次输出所有的质数。

答案

编程与数学3 编程找出200以内所有的质数_第2张图片
程序运行结果:1~20所有的质数
最小数最大数的设置

改变地址栏中min、max的值。例如,要查找21至50所有的质数,只要将地址中的“?min=1&max=200”,改成“?min=12&max=26”,即可。


编程与数学3 编程找出200以内所有的质数_第3张图片
21~50所有的质数
相关文章链接

编程与数学1 编程实现对一道加法数学题的答案探究:https://www.jianshu.com/p/f49391b46dd7
编程与数学2 编程找出200以内数的所有因数:https://www.jianshu.com/p/f9c283e11375

你可能感兴趣的:(编程与数学3 编程找出200以内所有的质数)