写一个函数isPrime(n)用于判断一个数字n是不是素数,用户输入一个正整数,在一行内输出不大于该数的所有素数,各数后面用一个空格分隔
时间: 2024-06-21 12:02:49 浏览: 18
为了编写一个名为`isPrime`的函数来判断一个数字是否为素数,并同时输出小于或等于给定数的所有素数,我们可以采用以下步骤:
1. 定义`isPrime`函数,接受一个正整数参数`n`。
2. 检查`n`是否小于2,因为素数定义为大于1且只有两个正因子(1和自身)的自然数。
3. 使用一个循环遍历从2到`n-1`的所有整数,检查每个数是否是`n`的因数。
4. 如果当前数不是因数,检查它是否为素数。如果它是素数,则添加到结果字符串中。
5. 返回布尔值表示`n`本身是否是素数,以及包含所有素数的结果字符串。
下面是Python代码实现的例子:
```python
def isPrime(n):
def is_number_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
result = ""
for num in range(2, n + 1):
if is_number_prime(num):
result += str(num) + " "
return is_number_prime(n), result.strip() # strip()用于移除结果字符串末尾的空格
# 用户输入
num = int(input("请输入一个正整数: "))
prime, primes_list = isPrime(num)
if prime:
print(f"{num} 是素数")
else:
print(f"{num} 不是素数")
print("小于或等于{}的所有素数: {}".format(num, primes_list))
```