质数是指除了 1 和它本身之外,没有其他正约数的整数。除了质数之外的自然数被称为合数。
例如,2、3、5、7、11、13 等都是质数,因为它们只有 2 个约数;而数字 '4'、'6',它们有超过两个约数,是合数。
让我们以数字 '5' 为例,它是一个质数,因为数字 '5' 只有两个约数:'1' 和 '5'。所以质数只有两个约数。但是,4 不是质数(它是合数),因为 2 x 2 = 4。
在 PHP 中,可以使用模 (%) 运算符来检查数字是质数还是合数。我们使用了一个用户自定义函数来检查数字,用户输入的数字将作为参数传入,它首先检查该数字是否大于 1。如果数字是 1,它将直接返回 0;否则,它将检查该数字是否能被小于它本身的数字完美整除(通过操作 (num % i == 0))。如果能,它将从函数 check_num() 返回 0;否则,它将返回 1。
步骤 1: 将数字接受到变量 num 中
步骤 2: 创建一个变量 flag 来存储 用户自定义函数 check_num()(带参数 num)的返回值。
步骤 3: 使用 if 语句检查条件,如果变量 flag 的值是 1,则打印 'It is a prime number';否则,使用函数 echo 打印 'It is a composite number'。
步骤 1: 使用 if 语句检查 num 是否为 1,如果为真,则作为函数 check_num() 的结果返回 0 并退出,否则执行以下步骤。
步骤 2: 执行 for 循环,将值 2 赋给变量 i,并执行子步骤,直到条件 'i <= num / 2' 变为假,并在每次迭代中增加变量 i 的值。
(i) 检查条件 'num % i == 0',如果为真,则作为函数 check_num() 的结果返回 0。
步骤 3: 作为函数 check_num() 的结果返回 1。
<?
function check_num($num)
{
if ($num == 1)
return 0;
for ($i = 2; $i <= $num / 2; $i++) {
if ($num % $i == 0)
return 0;
}
return 1;
}
$num = readline("Enter the number: ");
$flag = check_num($num);
if ($flag == 1)
echo "It is a prime number";
else
echo "It is a composite number";
?>
Example 1 Enter the number: 1 It is a composite number Example 2 Enter the number: 79 It is a prime number Example 3 Enter the number: 56 It is a composite number