质数:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。
在这里我们采用函数封装的写法,可以灵活的去改变数的范围。
1、普通的写法:
isPrimeNum(100); // 100以内的质数
/**
* 输出某个范围内的所有质数
* @param int $num 范围数
* @return int $i 符合条件的所有质数
*/
function isPrimeNum($num)
{
for ($i = 2; $i <= $num; $i++) {
// 创建一个标志,用来保存结果,默认$i是质数
$flag = true;
// 判断 $i是否是质数
// 获取 2~$i 之间所有的数
for ($j = 2; $j < $i; $j++) {
// 判断 $i 是否能被整除
if ($i % $j == 0) {
// 如果进入判断,则证明 $i不是质数
$flag = false;
break;
}
}
// 如果是质数,则打印 $i 的值
if ($flag) {
echo $i . "<br>";
}
}
}
运行结果:

2、以数组的形式输出:
isPrimeNum(100); // 输出100内的质数
/**
* 输出某个范围内的所有质数
* @param int $num 范围数
* @return array $arr 符合条件的质数组成的数组
*/
function isPrimeNum($num)
{
$arr = [];
for ($i = 2; $i <= $num; $i++) {
// 创建一个标志,用来保存结果,默认$i是质数
$flag = true;
// 判断 $i是否是质数
// 获取 2~$i 之间所有的数
for ($j = 2; $j < $i; $j++) {
// 判断 $i 是否能被整除
if ($i % $j == 0) {
// 如果进入判断,则证明 $i不是质数
$flag = false;
break;
}
}
// 如果是质数,则打印 $i 的值
if ($flag) {
array_push($arr, $i);
}
}
print_r($arr);
}
运行结果:

注:大家如果想输出其他范围内的质数,在调用函数的时候,传入你需要的数即可。如求50以内的所有质数,则传入的数为50,此时调用的函数为
isPrimeNum(50),其他的类似。【仅以此献给初学者】
博客介绍了质数的定义,即大于1且除1和自身外不能被其他自然数整除的数。采用函数封装写法来求解质数,给出了普通写法和以数组形式输出的方式,还提示可通过调用函数传入所需范围的数来求解特定范围内的质数,适合初学者。
1184

被折叠的 条评论
为什么被折叠?



