输入2个正整数 m 和 n(1<=m, n<=500),输出 m 和 n 之间的所有素数,每行输出6个。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 输出语句:printf("%d ", i); 输入输出示例:括号内为说明 输入: 1 35 (m=1, n=35) 2 10 (m=2,n=10) 输出: primes: (1到35之间的素数) 2 3 5 7 11 13 17 19 23 29 31 primes: (2到10之间的素数) 2 3 5 7
时间: 2024-03-25 07:35:57 浏览: 263
好的,我可以帮你解决这个问题。以下是使用C++编写的代码示例:
```c++
#include <iostream>
using namespace std;
bool isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
int main() {
int m, n, count = 0;
cout << "请输入两个正整数 m 和 n(1<=m, n<=500): ";
cin >> m >> n;
cout << "primes: " << endl;
for (int i = m; i <= n; i++) {
if (isPrime(i)) {
cout << i << " ";
count++;
if (count % 6 == 0) cout << endl;
}
}
if (count % 6 != 0) cout << endl;
return 0;
}
```
在这个代码示例中,我们定义了一个isPrime函数,用于判断一个数是否为素数。如果一个数小于等于1,则它不是素数,如果它可以被2到sqrt(num)之间的数整除,则它也不是素数。否则,它就是素数。
在主函数中,我们首先提示用户输入两个正整数m和n,并从标准输入读取这两个数。然后,我们使用一个for循环遍历m到n之间的所有数,如果它是素数,则输出它,并将计数器count加1。如果count是6的倍数,则输出一个换行符,以便每行输出6个素数。
希望这个示例可以帮助你解决问题!
阅读全文