判断是否素数(循环基础) 题目描述 输入一个数 n,判断 n 是否素数 输入 2 <= n <= 2002<=n<=200
时间: 2024-01-25 09:27:11 浏览: 63
你可以使用以下的算法来判断一个数n是否为素数:
1. 如果n小于2,则它不是素数。返回False。
2. 对于每个从2到√n的整数i,检查n是否能被i整除。如果是,则n不是素数。返回False。
3. 如果循环结束后都没有找到能整除n的数,则n是素数。返回True。
以下是一个Python示例代码:
```python
import math
def is_prime(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
# 测试代码
n = int(input("请输入一个数 n:"))
if is_prime(n):
print(n, "是素数")
else:
print(n, "不是素数")
```
请注意,此代码中使用了`math.sqrt()`函数来计算平方根,需要导入`math`模块。
希望这可以帮助到你!如果有任何疑问,请随时提问。
相关问题
求素数(10分) 题目内容: 输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数 输入格式: 输入数据m和n之间以空格隔开(100<=m<=n<=200) 输出格式: 素数之间以,隔开输出
以下是 Python 代码实现:
```python
m, n = map(int, input().split())
prime_list = []
for num in range(m, n+1):
# 素数大于1
if num > 1:
for i in range(2, num):
if num % i == 0:
break
else:
prime_list.append(num)
print(','.join(map(str, prime_list)))
```
解释:
1. 首先输入 m 和 n,使用 `map` 函数将输入的字符串转成整数。
2. 定义一个空列表 `prime_list`,用来存放素数。
3. 遍历从 m 到 n 的每一个数,判断它是否是素数。
4. 如果当前遍历的数 num 大于 1,则从 2 到 num-1 的每一个数 i 进行判断,看是否能整除 num。
5. 如果存在一个数 i 能整除 num,那么 num 就不是素数,跳出当前循环。
6. 如果 2 到 num-1 的所有数都不能整除 num,那么 num 就是素数,将其加入 prime_list 列表中。
7. 最后使用 `join` 函数和 `map` 函数将 prime_list 中的素数转成字符串,并以逗号分隔输出。
求素数(10分) 题目内容: 输入整型数据m和n(100<=m<=n<=200),要求输出m~n之间的所有素数
以下是 Python 代码实现:
```python
m, n = map(int, input().split())
for num in range(m, n+1):
if num > 1:
for i in range(2, int(num/2)+1):
if num % i == 0:
break
else:
print(num)
```
解释:
首先,我们输入 m 和 n,利用 `map()` 函数将输入的字符串转化为整型数据。接着,我们使用 `range()` 函数生成 m 到 n 之间的所有整数,并使用 `for` 循环遍历这些整数。
对于每个整数 num,我们判断它是否大于 1,因为 1 不是素数。如果 num 大于 1,则我们使用另一个 `for` 循环遍历 2 到 num/2 之间的所有整数 i,判断 num 是否能够被 i 整除。如果 num 能够被 i 整除,则 num 不是素数,我们退出内层循环。否则,我们继续遍历下一个 i,直到 i 到达 num/2 或者内层循环被退出。
如果内层循环没有被退出,说明 num 是素数,我们使用 `print()` 函数将其输出。最终,我们会输出 m 到 n 之间的所有素数。
阅读全文