利用while循环与for循环两种不同的循环模式求解:输入一个正整数,判断其是否为素数,是则输出Yes,否则输出No
时间: 2024-03-17 09:46:45 浏览: 203
好的,下面是使用while循环和for循环两种不同方式来判断一个正整数是否为素数的代码:
使用while循环:
```
num = int(input("请输入一个正整数:"))
if num <= 1:
print("No")
else:
i = 2
while i <= num / 2:
if num % i == 0:
print("No")
break
i += 1
else:
print("Yes")
```
使用for循环:
```
num = int(input("请输入一个正整数:"))
if num <= 1:
print("No")
else:
for i in range(2, int(num/2)+1):
if num % i == 0:
print("No")
break
else:
print("Yes")
```
两种代码的原理都是一样的,都是判断num是否能被2到num/2之间的数整除,如果能则不是素数,输出No;如果不能则是素数,输出Yes。不过使用for循环会更简洁一些。
相关问题
分别用while循环与for循环判断一个正整数是否为素数(v1) 利用while循环与for循环两种不同的循环模式求解:输入一个正整数,判断其是否为素数,是则输出Yes,否则输出No
while循环版本:
```
num = int(input("请输入一个正整数:"))
if num < 2:
print("No")
else:
i = 2
while i <= num // 2:
if num % i == 0:
print("No")
break
i += 1
else:
print("Yes")
```
for循环版本:
```
num = int(input("请输入一个正整数:"))
if num < 2:
print("No")
else:
for i in range(2, num // 2 + 1):
if num % i == 0:
print("No")
break
else:
print("Yes")
```
这两个版本的运行结果是一样的。
利用while循环输入一个正整数,判断其是否为素数,是则输出Yes,否则输出No
好的,以下是利用while循环输入一个正整数,判断其是否为素数的代码实现:
```python
num = int(input("请输入一个正整数:"))
is_prime = True
if num < 2:
is_prime = False
else:
i = 2
while i < num:
if num % i == 0:
is_prime = False
break
i += 1
if is_prime:
print("Yes")
else:
print("No")
```
解释一下代码:
- 首先,我们利用 `input` 函数输入一个正整数,并且将其转换成整数类型 `num`。
- 然后,我们设置一个布尔型变量 `is_prime`,并将其初始化为 `True`。这个变量用来判断 `num` 是否为素数。
- 如果 `num` 小于 2,那么其一定不是素数,此时将 `is_prime` 赋值为 `False`。
- 如果 `num` 大于等于 2,那么我们使用 `while` 循环来判断其是否为素数。我们从 2 开始依次检查 `num` 能否被 2 到 `num-1` 中的任意一个整数整除,如果能,则说明 `num` 不是素数,将 `is_prime` 赋值为 `False`,并使用 `break` 语句退出循环。如果 `num` 不能被整除,则继续循环。
- 最后,根据 `is_prime` 的值输出结果,如果为 `True`,则输出 "Yes",否则输出 "No"。
希望这个代码对你有帮助!
阅读全文