c++求100到200之间的素数
时间: 2023-12-04 15:39:18 浏览: 104
以下是C++求100到200之间的素数的代码:
```c++
#include <iostream>
using namespace std;
int main() {
int i = 0, sum = 0;
for (i = 100; i <= 200; i++) {
int b = 0;
for (b = 2; b <= i; b++) {
if (i % b == 0)
break;
}
if (i == b) {
cout << "素数是" << i << endl;
sum += 1;
}
}
cout << "素数有" << sum << "个" << endl;
return 0;
}
```
输出结果为:
```
素数是101
素数是103
素数是107
素数是109
素数是113
素数是127
素数是131
素数是137
素数是139
素数是149
素数是151
素数是157
素数是163
素数是167
素数是173
素数是179
素数是181
素数是191
素数是193
素数是197
素数是199
素数有21个
```
相关问题
c++求100到200之间的质数
以下是C++求100到200之间的质数的代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int i = 0, sum = 0;
for (i = 100; i <= 200; i++) {
int b = 0;
for (b = 2; b <= i; b++) {
if (i % b == 0)
break;
}
if (i == b) {
cout << "素数是" << i << endl;
sum += 1;
}
}
cout << "素数有" << sum << "个" << endl;
return 0;
}
```
用c++求2到100之间的素数
可以使用埃氏筛法(Sieve of Eratosthenes)来求解2到100之间的素数。具体步骤如下:
1. 创建一个长度为101的布尔数组,用来标记每个数字是否为素数,初始值都为true。
2. 从2开始,将其所有的倍数(除了本身)标记为false。
3. 找到下一个未被标记为false的数字,重复步骤2直到100。
4. 输出所有未被标记为false的数字,即为2到100之间的素数。
以下是C++代码实现:
```
#include <iostream>
#include <cstring>
using namespace std;
int main() {
bool isPrime[101];
memset(isPrime, true, sizeof(isPrime)); // 初始化为true
for (int i = 2; i <= 100; i++) {
if (isPrime[i]) {
for (int j = i * 2; j <= 100; j += i) {
isPrime[j] = false;
}
}
}
for (int i = 2; i <= 100; i++) {
if (isPrime[i]) {
cout << i << " ";
}
}
return 0;
}
--相关问题--:
阅读全文