判断一个给定的正整数是否素数 输入在第一行给出一个正整数 N (s10) 随后 N 行,每行给出一个小于1000000的需要判断的正整数
时间: 2024-10-09 10:05:31 浏览: 92
判断一个正整数是否为素数(质数)的基本算法通常是试除法,即检查这个数是否能被小于它本身的数整除。对于每个给定的正整数N,我们可以按照以下步骤来确定:
1. **边界条件**:
- 如果N小于2,那么它是合数(非素数),因为所有小于2的整数除了1以外都不是质数。
- 如果N等于2,这是唯一的偶数素数。
2. **从2到√N**:
- 对于N大于2的每一个数,我们只需要检查到它的平方根。这是因为如果一个数不是质数,它必定有一个因子小于或等于它的平方根,另一个因子大于它的平方根。例如,15的因子有1、3和5,其中5 * 3 = 15,而3 > √15。
3. **循环检查**:
- 依次检查2到sqrt(N)范围内的数,看能否整除N。如果找到可以整除的数,则N不是素数;如果没有找到,则N是素数。
以下是伪代码形式的大致流程:
```python
function isPrime(n):
if n < 2:
return False
elif n == 2:
return True
else:
for i in range(2, int(sqrt(n)) + 1):
if n % i == 0:
return False
return True
```
如果你需要处理大量输入,可以编写程序批量处理,并在每次读取一个数后立即判断其是否为素数。
阅读全文