PHP 程序打印 n 个质数


2022 年 5 月 10 日, Learn eTutorial
2834

什么是质数和合数?

质数是大于 1 的自然数,且不能由两个较小的自然数相乘得到。质数是大于 1 的自然数,且不能由两个较小的自然数相乘得到。

合数是大于 1 且不是质数的自然数。例如,7 除了 17 本身之外没有其他因数,所以它是一个质数;而 6 有两个以上的因数,所以它是一个合数。

例如,2、3、5、7、11、13等是质数,因为它们只有2个因数;而数字'4'、'6',有超过两个因数,是合数。

我们以数字“5”为例,它是一个质数,因为数字“5”只有两个因数:“1”和“5”。所以质数只有两个因数。但是,4不是质数(它是合数),因为2 x 2 = 4。

check prime number

如何使用 PHP 找出 n 个质数?

在 PHP 中,要检查一个数字是否是质数,可以使用模运算符 (%)。如果除了 1 和数字本身之外,我们得到 0,那么它就不是一个质数。在这个程序中,我们首先需要从用户那里获取限制并将其赋值给变量 n,然后将值 0 赋值给变量 ct,将值 2 赋值给变量 num。然后执行 while 循环,直到条件 'ct < n' 变为假。在循环块中,我们将值 0 赋值给变量 dCt。然后将值 2 赋值给变量 i,执行 for 循环,直到条件 'i <= num' 变为假,并在每次迭代中增加 i 的值。在循环块中,我们需要检查条件 'num % i == 0',如果为真,则增加变量 dCt 的值。在 for 循环完成后,我们需要检查条件 'dCt == 1',如果为真,则打印变量 num 的值,并同时增加变量 ct 的值,然后增加变量 num 的值。

算法

步骤 1:从用户那里获取限制并将其赋值给变量 n

步骤 2:将值 0 赋值给变量 ct,将值 2 赋值给变量 num

步骤 3:执行以下步骤,直到条件 'ct < n' 变为假

步骤 4:将值 0 赋值给变量 dCt

步骤 5:将值 2 赋值给变量 i,执行以下子步骤,直到条件 'i <= num' 变为假,并在每次迭代中增加 i 的值

        (i) 检查条件 'num % i == 0',如果为真,则增加变量 dCt 的值

步骤 6:检查条件 'dCt == 1',如果为真,则打印变量 num 的值,并同时增加变量 ct 的值

步骤 7:增加变量 num 的值

PHP 源代码

                                          <?php
$n = readline("Enter the limit of number required: ");
$ct = 0;
$num = 2;
while ($ct < $n) {
    $dCt = 0;
    for ($i = 2; $i <= $num; $i++) {
        if (($num % $i) == 0) {
            $dCt++;
        }
    }
    if ($dCt == 1) {
        echo $num . "  ";
        $ct++;
    }
    $num++;
}
?>
                                      

输出

Enter the limit of number required: 15
2  3  5  7  11  13  17  19  23  29  31  37  41  43  47