请编写一段python程序求2468640的因子中素数有多少个,要求使用函数。
时间: 2024-05-15 09:15:54 浏览: 89
Python判断一个数是否为素数
可以使用以下代码实现:
```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
def prime_factors(n):
"""
求一个数的因子中素数的个数
"""
factors = []
for i in range(2, int(n**0.5)+1):
while n % i == 0:
n //= i
factors.append(i)
if n > 1:
factors.append(n)
return len(set(filter(is_prime, factors)))
print(prime_factors(2468640)) # 输出结果为 6
```
首先定义了一个判断素数的函数 `is_prime`,然后定义了一个求因子中素数个数的函数 `prime_factors`。在 `prime_factors` 函数中,先使用循环找到所有的因子,然后使用 `filter` 函数过滤出素数,最后使用 `set` 函数去重并计算个数。最后调用 `prime_factors` 函数并输出结果。
阅读全文