编写函数,判断一个整数是否为素数,并编写主程序调用该函数,用多种方法
时间: 2023-06-11 15:05:38 浏览: 133
判断。
好的,我可以回答你的问题。以下是示例代码:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
num = int(input("请输入一个整数:"))
# 方法 1:使用函数判断
if is_prime(num):
print("{} 是素数".format(num))
else:
print("{} 不是素数".format(num))
# 方法 2:暴力枚举
is_prime_num = True
for i in range(2, num):
if num % i == 0:
is_prime_num = False
break
if is_prime_num:
print("{} 是素数".format(num))
else:
print("{} 不是素数".format(num))
# 方法 3:埃氏筛法
is_prime_list = [True] * (num + 1)
is_prime_list[0], is_prime_list[1] = False, False
for i in range(2, int(num**0.5) + 1):
if is_prime_list[i]:
for j in range(i*i, num + 1, i):
is_prime_list[j] = False
if is_prime_list[num]:
print("{} 是素数".format(num))
else:
print("{} 不是素数".format(num))
```
这段代码定义了 `is_prime` 函数来判断一个整数是否为素数,主程序中使用了 3 种不同的方法来调用该函数,分别为:
1. 直接使用 `is_prime` 函数判断;
2. 使用暴力枚举方法判断;
3. 使用埃氏筛法判断。
注意,在第一个方法中,我们调用了 `is_prime` 函数来进行判断;在第二、第三种方法中,我们没有调用该函数,而是使用循环来判断。
阅读全文