编写一个函数,判断一个数是否为素数。 主程序调用该函数输出[2,m]之间的素数(如果在该区间找不到素数,则不输出),m由用户输入,输出格式再裁判测试程序中已经给出。
时间: 2024-04-30 07:21:24 浏览: 66
以下是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
m = int(input("请输入一个整数m:"))
prime_list = []
for i in range(2, m+1):
if is_prime(i):
prime_list.append(i)
if len(prime_list) == 0:
print("在[2,{}]之间找不到素数。".format(m))
else:
print("[2,{}]之间的素数为:".format(m))
for prime in prime_list:
print(prime, end=" ")
```
该函数先判断一个数是否小于2,如果小于2,则不是素数。然后从2开始遍历到该数的平方根,如果存在一个数可以整除该数,则该数不是素数。最后返回True表示该数是素数。
主程序中,首先让用户输入一个整数m,然后遍历[2,m]区间内的整数,如果是素数则加入素数列表中。最后根据素数列表的长度判断是否有素数,并输出素数列表。
相关问题
编写一个函数,判断其是否是素数,在主程序中调用函数,从键盘输入一个整数,调用函数进行判断,是素数时输出该数是素数,否则输出不是素数。
确定一个整数是否为素数(质数)的一个简单方法是检查它能否被2到其平方根之间的任何一个整数整除。如果都不能整除,则它是素数。下面是一个Python函数实现这一功能:
```python
import math
def is_prime(n):
if n <= 1: # 1不是质数,0更不用说了
return False
elif n == 2: # 2是最小的质数
return True
elif n % 2 == 0: # 偶数除了2以外都不是质数
return False
else: # 检查奇数因子
for i in range(3, int(math.sqrt(n)) + 1, 2): # 只需考虑奇数
if n % i == 0:
return False
return True
# 主程序
num = int(input("请输入一个整数:"))
if is_prime(num):
print(f"{num}是素数")
else:
print(f"{num}不是素数")
#
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` 循环遍历所有三位数,如果是素数则打印出来。
阅读全文