PHP循环学习十一:怎么判断素数并打印1~100的素数、统计其数目
时间:2021-09-03
来源:互联网
标签:
今天PHP爱好者给大家带来PHP怎么判断素数并打印1~100的素数、统计其数目的教程,在之前的文章《PHP循环学习十:判定水仙花数,打印全部水仙花数》中,我们给大家介绍一下判断水仙花数并利用循环输出所有水仙花数的方法,下面继续php循环的学习,介绍一下怎么判断一个数是不是素数,并输出1~100的素数,感兴趣的朋友可以学习了解一下~希望对大家有所帮助。
首先我们来了解一下什么是素数?
素数(质数)是指除了1和它本身之外再不能被其他数整除的自然数;如果能被其他数整除则称为合数(规定1既不是质数也不是合数)。
例如:数字2、3、17、19都是素数,它们只能被1和本身整除。
那么如果给出一个数 num(例如17),我们怎么判断这个数 num 是不是素数呢?下面给大家介绍几种方法:
方法1:最简单的方法是根据素数的定义来求
思路:
素数只能被1和本身整除,即只能被整除2次。
因此我们利用循环,使用大于1小于等于N的各个自然数都去除一下N,统计被整除的次数,如果次数大于2则不是素数;如果等于2则则是素数。
下面来看看实现代码:
<?php
header("content-type:text/html;charset=utf-8");
$num=17;
$count = 1;
for($i = 2; $i <= $num; $i++) {
if(($num % $i)== 0)
$count ++;
}
if($count == 2) {
echo $num . '就是素数<br/>';
}else{
echo $num . '不是素数<br/>';
}
?>
输出结果:
方法2:
思路:用一个数分别去除2到sqrt(这个数)
,如果能被整除,则表明此数不是素数,反之是素数。
下面来看看实现代码:
<?php
header("content-type:text/html;charset=utf-8");
$num=19;
$flag = 1;
for($i = 2; $i*$i <= $num; $i++) //能被2 - sqrt(i)整除的数
{
if($num % $i == 0)
{
$flag = 0;
break;
}
}
if($flag == 1) {
echo $num . '就是素数<br/>';
}else{
echo $num . '不是素数<br/>';
}
?>
输出结果:
好了知道怎么给定一个数来判断是不是素数了,下面加大难度:怎么给定一个范围(例如1~100),输出全部素数呢?
是不是要使用两个循环,在上面for循环的基础上,在外面套一层for循环来控制范围即可。我们来看看实现代码(直接使用方法2的代码):
<?php
header("content-type:text/html;charset=utf-8");
$count = 0;
for($k = 2; $k <= 100; $k++){ //从2开始,遍历到100
$flag = 1;
for($i = 2; $i*$i <= $k; $i++) {//能被2 - sqrt(i)整除的数
if($k % $i == 0)
{
$flag = 0;
break;
}
}
if($flag == 1) {
echo $k . '是素数<br/>';
$count ++;
}
}
echo '<br/>1~100间共有 '.$count." 个素数";
?>
输出结果:
可以看出,我们在内层for循环的循环体中,使用一个计数器$count
,每输出一个素数后,自增1,这样就可以统计出1~100内有多少素数了。
好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
以上就是PHP循环学习十一:怎么判断素数并打印1~100的素数、统计其数目的详细内容,更多请关注php爱好者其它相关文章!
-
如何注册谷歌账号(谷歌账号注册方法) 怎么跳过手机验证 时间:2025-09-29
-
access数据库8个经典实例 时间:2025-09-29
-
mmc.exe是什么进程 mmc.exe应用程序错误的原因及解决方法 时间:2025-09-29
-
4种基本的编程命名规范介绍(匈牙利命名法、驼峰式命名法、帕斯卡命名法、下划线命名法) 时间:2025-09-29
-
Ghostscript下载、安装教程 Ghostscript命令参数详解 时间:2025-09-29
-
Linux中内存管理NUMA架构详解 时间:2025-09-29
今日更新
-
宝可梦大集结拓荒风格索罗亚克上线-首周享8折优惠
阅读:18
-
燕云十六声不见山版本-活动棘轮之试答案
阅读:18
-
币安SOL交易所APP下载 高效交易索拉纳资产最佳平台
阅读:18
-
燕云十六声中秋外观金滟玉团10月6日将限时上线
阅读:18
-
如鸢周年庆三国志魂魂版-寿春·须须1-10文字版
阅读:18
-
鸣潮索拉里斯回归邀约活动进行中-10月8日将结束
阅读:18
-
新月同行征程DAY4/7补给发放-登录游戏即可领取
阅读:18
-
逆水寒南海史诗-荣誉挑战与43个罗彩匣获取
阅读:18
-
三国百将牌怎么玩-三国百将牌玩法机制
阅读:18
-
币安USDC交易所APP - 安全交易美元稳定币的首选平台
阅读:18