使用do while 循环语句,判断一个正整数是否为素数
时间: 2023-09-16 17:13:47 浏览: 203
好的,可以使用以下代码来判断一个正整数是否为素数:
```
<?php
$num = 19; // 要判断的正整数
$i = 2;
$is_prime = true;
if ($num <= 1) {
$is_prime = false;
} else {
do {
if ($num % $i == 0) { // 如果能被整除,说明不是素数
$is_prime = false;
break;
}
$i++;
} while ($i < $num);
}
if ($is_prime) {
echo $num . ' 是素数';
} else {
echo $num . ' 不是素数';
}
?>
```
解释一下代码:
首先定义了要判断的正整数$num和一个计数器$i,初始值为2。然后定义了一个$is_prime变量,用于记录是否为素数,初始值为true。
接下来先判断$num是否小于等于1,如果是的话,$num不是素数,将$is_prime设置为false即可;如果$num大于1,就执行do-while循环,从2开始逐一除以$num,如果存在能够整除$num的数,那么就说明$num不是素数,将$is_prime设置为false,并且使用break跳出循环。
最后判断$is_prime的值,如果为true,则说明$num是素数,否则就不是素数。
需要注意的是,本题中的要求是判断正整数是否为素数,因此需要先判断$num是否小于等于1,而对于负数和小数,是没有素数的概念的。
阅读全文