问题描述】 编写程序输出100-n(n>100)之间的全部素数,输出的素数不包含n,每行显示5个素数。用双重循环实现。 【输出形式】 在屏幕上每行输出5个素数。 【输入样例】 200 【输出样例】 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 【输入样例】 107 【输出样例】 101 103
时间: 2023-12-03 20:04:21 浏览: 75
下面是C++的实现代码:
```cpp
#include <iostream>
using namespace std;
bool is_prime(int n) { // 判断素数的函数
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) return false;
}
return true;
}
int main() {
int n;
cin >> n;
int count = 0; // 计数器,用来控制每行输出5个素数
for (int i = 101; i < n; i++) { // 从101开始,因为100以内没有素数
if (is_prime(i)) {
count++;
if (count % 5 == 0) { // 每行输出5个素数
cout << i << endl;
} else {
cout << i << " ";
}
}
}
return 0;
}
```
这个程序首先定义了一个 `is_prime` 函数来判断一个数是否是素数,然后用双重循环来输出100到n之间的素数,每行输出5个素数。注意,程序中的判断条件是 `i < n` 而不是 `i <= n`,因为题目要求输出的素数不包括n。
阅读全文