编写一个Python函数,判断一个数是否为素数,并返回结果。(要有调用函数的测试代码)
时间: 2024-10-21 13:10:45 浏览: 16
在Python中,我们可以编写一个名为`is_prime`的函数来判断一个数是否为素数。素数是指大于1的自然数,除了1和它本身以外不再有其他因数。下面是一个简单的实现:
```python
def is_prime(n):
"""判断给定数字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: # 只需检查到其平方根即可
if n % i == 0 or n % (i + 2) == 0:
return False
i += 6 # 跳过4和6,因为它们已经被前面的步骤排除了
return True
# 测试代码
numbers_to_check = [2, 7, 12, 19, 24, 47]
for num in numbers_to_check:
print(f"{num} 是素数吗? {is_prime(num)}")
相关问题
编写一个Python函数,判断一个数是否为素数,并返回结果。(要有调用函数的测试代码)简化代码
在Python中,可以编写一个简单的函数来检查一个数是否为素数。素数是指只有1和它本身两个正因数的自然数。以下是一个示例函数`is_prime`,以及如何调用该函数:
```python
def is_prime(n):
"""
判断给定的数字n是否为素数
:param n: 需要检查的整数
:return: 如果是素数则返回True,否则返回False
"""
if n <= 1: # 素数定义排除1和0
return False
elif n == 2: # 2是最小的素数
return True
elif n % 2 == 0: # 偶数除以2余0,除了2以外的偶数不是素数
return False
else: # 对于大于2的奇数,从3开始检查到其平方根,若能被整除,则不是素数
sqrt_n = int(n ** 0.5) + 1
for i in range(3, sqrt_n, 2): # 只需检查奇数因子
if n % i == 0:
return False
return True
# 测试函数
test_numbers = [2, 7, 12, 19, 24, 47]
for number in test_numbers:
print(f"{number} 是素数吗? {is_prime(number)}")
Python编写一个函数判断输入的一个数是否为素数,并通过调用该函数求出所有三位数的素数。
可以使用以下代码实现:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return False
return True
for i in range(100, 1000):
if is_prime(i):
print(i)
```
首先定义一个函数 `is_prime`,它接收一个整数参数 `n`,判断 `n` 是否为素数,如果是素数返回 `True`,否则返回 `False`。
然后在主程序中使用 `for` 循环遍历所有三位数,如果是素数则打印出来。
阅读全文