输出m--n间的全部素数 【问题描述】 输出m--n间的全部素数。 【输入形式】 n m 【输出形式】 每行输出5个数,每个数占5位宽度。 【样例输入】 1 20 【样例输出】 2 3 5 7 11 13 17 19
时间: 2024-10-23 11:10:12 浏览: 58
输出指定范围内的所有素数是一种常见的程序练习,特别是在学习算法和数据结构的时候。素数是指大于1的自然数,除了1和它本身以外不再有其他因数的数。
**程序实现步骤**:
1. 首先,检查输入是否有效,即m是否小于n。
2. 创建一个循环,从m开始到n结束(包括n),遍历每个数字。
3. 对于每个数字,检查它是否为素数。这通常通过从2开始,逐个测试到该数平方根的整数。如果找到能整除它的数,则该数不是素数,跳过剩余的测试。
4. 如果数字是素数,按照输出格式打印出来,每行输出5个数,并保证每个数占用5位宽。对于不足5位的素数,在前面补空格。
**示例代码(Python)**:
```python
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
def print_primes(start, end):
for num in range(start, end + 1, 5): # 间隔5是为了每行输出5个数
count = 0
while count < 5 and num <= end:
if is_prime(num):
print(f"{num:<5}", end="")
count += 1
num += 1
print()
# 示例输入
print_primes(1, 20)
```
**样例输出**(基于上述代码):
```
2 3 5 7 11
13 17 19
```
阅读全文