python 写判断质数函数
时间: 2024-05-14 11:11:59 浏览: 99
以下是一个Python写的判断质数函数:
```python
def is_prime(n):
"""
判断一个数是否为质数
"""
if n < 2:
return False
elif n == 2:
return True
elif n % 2 == 0:
return False
else:
for i in range(3, int(n**0.5)+1, 2):
if n % i == 0:
return False
return True
```
解释:
- 如果 n 小于 2,显然不是质数,返回 False;
- 如果 n 等于 2,是质数,返回 True;
- 如果 n 是偶数,除了 2 以外的偶数都不是质数,返回 False;
- 如果 n 是奇数,从 3 开始判断,每次步长为 2,判断范围是从 3 到 n 的平方根(向下取整),如果存在能整除 n 的数,返回 False;
- 如果没有能整除 n 的数,说明 n 是质数,返回 True。
相关问题
python123判断素数函数
在Python中,我们可以使用简单的算法来判断一个数是否为素数。下面是一个常见的方法,称为埃拉托斯特尼筛选法(Sieve of Eratosthenes)的简化版本:
```python
def is_prime(n):
if n <= 1: # 0和1不是素数
return False
elif n <= 3: # 2和3是素数
return True
elif n % 2 == 0 or n % 3 == 0: # 偶数和3的倍数不是素数
return False
i = 5
while i * i <= n: # 检查从5到√n范围内的数
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6 # 6的倍数跳过,因为已经检查了i和i+2
return True
# 示例
print(is_prime(7)) # 输出:True
print(is_prime(12)) # 输出:False
```
这个函数通过排除能被2和3整除的数,然后逐步检查每个大于√n的数(因为如果n有一个因子大于√n,那么它必然还有一个因子小于√n),来判断一个数是否为素数。
python编写判断素数函数fun(n),调用该函数输出100~200内所有素数。
好的,以下是实现该功能的Python代码:
```python
def fun(n):
if n < 2: # 排除小于2的数
return False
for i in range(2, int(n**0.5)+1): # 只需判断到n的平方根
if n % i == 0:
return False
return True
for i in range(100, 201):
if fun(i):
print(i)
```
首先定义了一个名为`fun`的函数,用于判断一个数是否为素数。该函数使用了试除法的思想,从2开始到该数的平方根之间的所有整数,检查是否有能够整除该数的数,如果有,则该数不是素数;如果没有,则该数是素数。
然后在主程序中,使用一个for循环从100到200遍历每个数,调用`fun`函数判断是否为素数,如果是,则输出该数。
阅读全文