写一个函数用于判断一个数字n数是素数用户输入一个正整数在一行内输出不大于该数的所有素数个数后面用一个空格分隔
时间: 2024-05-05 07:22:06 浏览: 132
PTAC-C++求n以内最大的k个素数以及它们的和.rar
以下是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
num = int(input("请输入一个正整数:"))
primes = [i for i in range(2, num+1) if is_prime(i)]
print(len(primes), end=" ")
print(*primes)
```
函数 `is_prime` 用于判断一个数是否为素数,采用了试除法的方法。函数的返回值为布尔类型,如果输入的数是素数返回 `True`,否则返回 `False`。
主程序中,首先用户输入一个正整数 `num`,然后用列表推导式生成不大于该数的所有素数,并将其存储在列表 `primes` 中。最后,使用 `len` 函数求出素数的个数,并用 `*` 运算符将列表中的素数展开,以空格分隔输出。
阅读全文