输出2-100以内的所有素数。 用c++程序来回答
时间: 2023-09-06 10:13:32 浏览: 60
以下是用 C++ 编写的输出2-100以内的所有素数的程序:
```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() {
for (int i = 2; i <= 100; i++) {
if (isPrime(i)) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
```
程序的思路很简单,定义一个函数 `isPrime` 判断一个数是否为素数,然后在 `main` 函数中循环2到100,对于每个数调用 `isPrime` 函数判断是否为素数,如果是素数则输出。
相关问题
输出2-100以内的素数
要输出2-100以内的素数,可以使用质数筛法,具体步骤如下:
1. 创建一个长度为n(这里是100)的bool类型数组,初始化为true。
2. 从2开始循环到sqrt(n),将数组中2的倍数、3的倍数、4的倍数......直到sqrt(n)的倍数都标记为false。
3. 遍历数组,输出所有值为true的下标即为素数。
以下是输出2-100以内的素数的代码实现:
```
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
const int n = 100;
bool isPrime[n+1];
fill(isPrime, isPrime+n+1, true); // 初始化为true
for (int i = 2; i <= sqrt(n); i++) {
if (isPrime[i]) {
for (int j = i*i; j <= n; j += i) {
isPrime[j] = false;
}
}
}
cout << "2 ";
for (int i = 3; i <= n; i += 2) { // 只遍历奇数
if (isPrime[i]) {
cout << i << " ";
}
}
return 0;
}
```
用c语言输出 2-100 以内的素数。
好的,以下是用 C 语言输出 2-100 以内的素数的代码:
```c
#include <stdio.h>
int main() {
int i, j, is_prime;
printf("2-100 以内的素数为:\n");
for (i = 2; i <= 100; i++) {
is_prime = 1; // 假设 i 是素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0; // 若有其他因子,则 i 不是素数
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
printf("\n");
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
```
希望这能回答您的问题!