输入1到50间数字,判断是否位素数python
时间: 2024-09-30 21:06:43 浏览: 30
在Python中,位素数是指那些除了1和它本身之外没有其他正因子的整数。判断一个数字是否为质数可以采用试除法,对于输入范围1到50内的每个数字,我们只需要检查从2到其平方根之间的所有数,看是否有能整除它的。下面是一个简单的函数来实现这个功能:
```python
def is_prime(n):
if n <= 1: # 0和1不是质数
return False
elif n == 2: # 2是最小的质数
return True
elif n % 2 == 0: # 偶数(除了2)都不是质数
return False
else: # 检查奇数
sqrt_n = int(n**0.5) + 1
for i in range(3, sqrt_n, 2): # 只需要检查奇数
if n % i == 0:
return False
return True
# 判断给定范围内数字是否位素
def are_heteropolar_numbers(numbers):
heteropolar = [num for num in numbers if is_prime(num)]
return heteropolar
# 示例,输入1到50的数字列表
input_numbers = list(range(1, 51))
heteropolar_numbers = are_heteropolar_numbers(input_numbers)
print("位素数有:", heteropolar_numbers)
阅读全文