分别用 while 循环与for循环判断一个正整数是否为 素数
时间: 2023-09-17 14:10:17 浏览: 95
使用 while 循环判断一个正整数是否为素数:
```python
num = int(input("请输入一个正整数:"))
flag = True
i = 2
while i < num:
if num % i == 0:
flag = False
break
i += 1
if flag:
print(num, "是素数")
else:
print(num, "不是素数")
```
使用 for 循环判断一个正整数是否为素数:
```python
num = int(input("请输入一个正整数:"))
flag = True
for i in range(2, num):
if num % i == 0:
flag = False
break
if flag:
print(num, "是素数")
else:
print(num, "不是素数")
```
这两种方法的思路基本相同,都是从2开始循环到num-1,判断是否有数能够整除num。如果找到一个能够整除num的数,就说明num不是素数,否则num是素数。
相关问题
分别用while循环与for循环判断一个正整数是否为素数(v1) 利用while循环与for循环两种不同的循环模式求解:输入一个正整数,判断其是否为素数,是则输出Yes,否则输出No
### 回答1:
使用while循环方式判断一个正整数是否为素数(v1):
```python
num = int(input("请输入一个正整数:"))
is_prime = True
i = 2
while i < num:
if num % i == 0:
is_prime = False
break
i += 1
if is_prime:
print("Yes")
else:
print("No")
```
使用for循环方式判断一个正整数是否为素数(v1):
```python
num = int(input("请输入一个正整数:"))
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
print("Yes")
else:
print("No")
```
注意,这两种方式只是不同的循环方式,判断素数的逻辑是一样的。后面还可以优化算法,从2到num的平方根进行遍历即可。
### 回答2:
使用while循环判断一个正整数是否为素数的方法如下:
1. 首先接收一个正整数num作为输入。
2. 使用一个变量i从2开始,直到i小于等于num的平方根,并且在该过程中判断num是否能够被i整除。
3. 如果num能够被任何一个小于等于其平方根的数整除,则说明num不是素数,输出"No";否则,说明num是素数,输出"Yes"。
4. 示例代码如下:
```python
import math
num = int(input("请输入一个正整数: "))
is_prime = True
i = 2
while i <= math.sqrt(num):
if num % i == 0:
is_prime = False
break
i += 1
if is_prime:
print("Yes")
else:
print("No")
```
使用for循环判断一个正整数是否为素数的方法如下:
1. 首先接收一个正整数num作为输入。
2. 使用for循环对从2到num的每一个数字进行迭代,并在该过程中判断num是否能够被迭代的数字整除。
3. 如果num能够被任何一个小于num的数整除,则说明num不是素数,输出"No";否则,说明num是素数,输出"Yes"。
4. 示例代码如下:
```python
num = int(input("请输入一个正整数: "))
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
print("Yes")
else:
print("No")
```
### 回答3:
while循环判断一个正整数是否为素数的代码如下:
```python
num = int(input("请输入一个正整数"))
is_prime = True
i = 2
while i < num:
if num % i == 0:
is_prime = False
break
i += 1
if is_prime:
print("Yes")
else:
print("No")
```
for循环判断一个正整数是否为素数的代码如下:
```python
num = int(input("请输入一个正整数"))
is_prime = True
for i in range(2, num):
if num % i == 0:
is_prime = False
break
if is_prime:
print("Yes")
else:
print("No")
```
这两段代码的思路是一样的,都是利用循环从2开始逐个除以正整数本身之前的每一个数,如果存在能够整除的数,则说明该数不是素数。如果循环结束时没有找到能够整除的数,则说明该数是素数。最后根据is_prime的值判断是否输出Yes或No。
使用do while 循环语句,判断一个正整数是否为素数
好的,可以使用以下代码来判断一个正整数是否为素数:
```
<?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,而对于负数和小数,是没有素数的概念的。
阅读全文