求指定的两个整数m、n之间的素数(m<=n) 输入:只有一行,是空格隔开的两个正整数m和n。(m<=n) 输出:在m和n之间(含m和n)的所有素数,按照每个数据占6列,每行5个数据输出
时间: 2024-02-09 21:11:08 浏览: 54
以下是 Python 代码实现:
```python
m, n = map(int, input().split())
def is_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
count = 0
for i in range(m, n+1):
if is_prime(i):
print("{:6d}".format(i), end='')
count += 1
if count == 5:
print()
count = 0
if count != 0:
print()
```
输入示例:
```
10 50
```
输出示例:
```
11 13 17 19 23
29 31 37 41 43
47
```
相关问题
求指定的两个整数m、n之间的素数(m<=n) 输入:只有一行,是空格隔开的两个正整数m和n。(m<=n) 输出:在m和n之间(含m和n)的所有素数,按照每个数据占6列,每行5个数据输出,注释
好的,以下是带有注释的 Python 代码实现:
```python
# 读入两个整数 m 和 n
m, n = map(int, input().split())
# 判断一个数是否为素数的函数
def is_prime(num):
# 小于 2 的数不是素数
if num < 2:
return False
# 判断 num 是否能被 2 到 sqrt(num) 之间的任何一个数整除
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
# 如果上述条件都不满足,则 num 是素数
return True
# 计数器,用于控制输出格式
count = 0
# 遍历 m 到 n 之间的所有整数
for i in range(m, n+1):
# 如果 i 是素数
if is_prime(i):
# 按照格式输出 i
print("{:6d}".format(i), end='')
# 计数器加 1
count += 1
# 如果已经输出了 5 个数,就换行
if count == 5:
print()
count = 0
# 如果最后一行没有输出 5 个数,就换行
if count != 0:
print()
```
这段代码首先读入两个整数 m 和 n,然后定义了一个函数 is_prime,用于判断一个数是否为素数。接着使用一个计数器 count,遍历 m 到 n 之间的所有整数,对于每个整数 i,如果它是素数,则按照格式输出它,并将计数器 count 加 1。如果已经输出了 5 个数,就换行。最后,如果最后一行没有输出 5 个数,就再换行。
整数之间的素数 描述:求指定的两个整数m、n之间的素数(m<=n) 输入:只有一行,是空格隔开的两个正整数m和n。(m<=n) 输出:在m和n之间(含m和n)的所有素数,按照每个数据占6列,每行5个数据输出
以下是Python代码实现:
```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
return True
m, n = map(int, input().split())
cnt = 0
for i in range(m, n+1):
if is_prime(i):
print('{:<6}'.format(i), end='')
cnt += 1
if cnt % 5 == 0:
print()
if cnt % 5 != 0:
print()
```
首先定义一个判断素数的函数 `is_prime(num)`,接着读入两个整数m和n。
然后用循环遍历从m到n之间的所有整数,如果是素数就输出,同时计数器cnt加一。每输出5个素数就换行。注意最后一行不足5个素数的情况也要换行。
例如,输入:
```
20 50
```
输出:
```
23 29 31 37 41
43 47
```
阅读全文