用c++求100以内的素数
时间: 2023-09-10 21:14:25 浏览: 44
好的,下面是在 C 语言中求 100 以内的素数的代码示例:
```
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) return false;
for (int i = 2; i < n; i++) {
if (n % i == 0) return false;
}
return true;
}
int main() {
printf("100 以内的素数有:\n");
for (int i = 2; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
输出:
```
100 以内的素数有:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```
相关问题
c++求100以内孪生素数对
孪生素数对是指相差为2的素数对,我们可以使用筛法来求解100以内的素数,然后逐个查找孪生素数对。
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
const int MAXN = 101; // 最大范围
bool is_prime[MAXN]; // 标记是否为素数
int main() {
// 初始化所有数为素数
for (int i = 2; i < MAXN; i++) {
is_prime[i] = true;
}
// 筛法求素数
for (int i = 2; i < MAXN; i++) {
if (is_prime[i]) {
// 将所有i的倍数标记为非素数
for (int j = i * 2; j < MAXN; j += i) {
is_prime[j] = false;
}
}
}
// 查找孪生素数对
for (int i = 2; i < MAXN - 2; i++) {
if (is_prime[i] && is_prime[i + 2]) {
cout << i << "和" << i + 2 << "是孪生素数对" << endl;
}
}
return 0;
}
```
输出结果为:
```
3和5是孪生素数对
5和7是孪生素数对
11和13是孪生素数对
17和19是孪生素数对
29和31是孪生素数对
41和43是孪生素数对
59和61是孪生素数对
71和73是孪生素数对
```
因此,100以内的孪生素数对为:
```
(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61), (71, 73)
```
c++求100以内的素数
以下是求100以内的素数的 C 代码:
#include <stdio.h>
int main() {
int i, j, is_prime;
for (i = 2; i <= 100; i++) {
is_prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
输出结果为:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97