求指定两个整数m,n之间的素数(m<n)m,n之间素数按照每个数据占6列,每行5个数据输出
时间: 2024-02-03 20:13:39 浏览: 42
以下是Python实现的代码:
```python
import math
def is_prime(num):
if num < 2:
return False
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
return False
return True
m = int(input("请输入m:"))
n = int(input("请输入n:"))
count = 0
for i in range(m, n+1):
if is_prime(i):
print("{:6d}".format(i), end="")
count += 1
if count % 5 == 0:
print()
print()
```
运行结果如下:
```
请输入m:50
请输入n:100
53 59 61 67 71
73 79 83 89 97
```
注意,输出结果中每个数据占6列,每行5个数据输出。
相关问题
用c语言编写出求指定两个整数m,n之间的素数(m<n)m,n之间素数按照每个数据占6列,每行5个数据输出
以下是用C语言编写的求指定两个整数m,n之间的素数的程序,每行输出5个数据,每个数据占6列:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n;
printf("请输入两个整数m, n(m < n): ");
scanf("%d %d", &m, &n);
int count = 0; // 记录已输出的素数个数
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%6d", i);
count++;
if (count % 5 == 0) { // 每行输出5个数据
printf("\n");
}
}
}
if (count % 5 != 0) { // 如果最后一行不足5个数据,需要补齐空格
printf("\n");
}
return 0;
}
```
注意:为了判断一个数是否为素数,我们可以使用试除法。具体来说,我们从2开始,一直试除到该数的平方根,如果能被整除,那么就不是素数,否则就是素数。
整数之间的素数 描述:求指定的两个整数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
```
阅读全文