输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于1000000 的需要判断的正整数
时间: 2024-01-15 20:41:56 浏览: 125
将一个整数S随机拆分为N个在min~max之间的整数.txt
以下是Python的代码实现:
```python
N = int(input())
for i in range(N):
num = int(input())
if num == 1:
print("No")
elif num == 2 or num == 3:
print("Yes")
else:
for j in range(2, int(num ** 0.5) + 1):
if num % j == 0:
print("No")
break
else:
print("Yes")
```
解释一下:
首先读入需要判断的正整数的个数N,然后用一个for循环读入每个需要判断的正整数num。
如果num等于1,则肯定不是质数,输出“No”。
如果num等于2或3,则肯定是质数,输出“Yes”。
如果num大于等于4,则从2到num的平方根的整数部分(即int(num ** 0.5) + 1)遍历,如果num能被其中任何一个数整除,则num不是质数,输出“No”;否则,num是质数,输出“Yes”。
注意,这里用到了“质数”的定义,即只有1和它本身两个因数的正整数。
阅读全文