输入格式: 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2 31 的需要判断的正整数。 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No
时间: 2024-04-10 10:29:08 浏览: 311
题目描述:
输入一个正整数n,接下来n行,每行一个小于2^31的正整数,判断这些数是否为素数,是则输出yes,否则输出no。
解题思路:
素数的定义是只能被1和本身整除的数,因此我们可以从2开始,一直到这个数的平方根,判断是否存在可以整除的数。如果存在,则不是素数,否则是素数。
注意:1不是素数。
Python代码:
相关问题
判断一个给定的正整数是否素数 输入格式: 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于1000000 的需要判断的正整数 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No
```python
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
n = int(input())
for i in range(n):
num = int(input())
if is_prime(num):
print("Yes")
else:
print("No")
```
注:此题可用更优秀的算法进行优化,但此处采用最基础的算法。
判断一个给定的正整数是否素数 输入格式: 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于1000000 的需要判断的正整数 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No
判断一个正整数是否为素数的传统方法是试除法,即检查它是否能被小于它的所有自然数整除。但如果数值较大,这种方法效率较低。更高效的做法是只需检查到其平方根,因为一个合数必定有因数小于或等于它的平方根。
以下是Python的一个简单实现,使用了这种优化技巧:
```python
import math
def is_prime(num):
if num <= 1:
return False
elif num == 2 or num == 3:
return True
elif num % 2 == 0 or num < 3:
return False
else:
sqrt_num = int(math.sqrt(num))
for i in range(3, sqrt_num + 1, 2):
if num % i == 0:
return False
return True
n = int(input())
for _ in range(n):
test_num = int(input())
result = "Yes" if is_prime(test_num) else "No"
print(result)
```
这个程序先处理一些特殊情况(2和3是素数,偶数除了2以外不是素数),然后只检查奇数作为可能的因子,直到达到`sqrt_num`。如果找到因子,就立即返回False,否则说明是素数。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)