求100以内的素数c++
时间: 2023-08-05 14:09:55 浏览: 132
以下是求100以内的素数的C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
for(int i = 2; i <= 100; i++) {
bool isPrime = true;
for(int j = 2; j < i; j++) {
if(i % j == 0) {
isPrime = false;
break;
}
}
if(isPrime) {
cout << i << " ";
}
}
return 0;
}
```
该程序使用嵌套循环遍历2到100之间的所有数字,对于每个数字,再使用内层循环判断其是否为素数。如果是素数,则输出该数字。
相关问题
求100以内的素数c++
在C++中,求100以内的素数可以采用埃拉托斯特尼筛法(Sieve of Eratosthenes)算法,这是一种经典高效的查找素数的方法。以下是简单的C++代码示例:
```cpp
#include <iostream>
#include <vector>
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;
}
std::vector<int> findPrimes(int limit) {
std::vector<bool> isComposite(limit + 1, false);
std::vector<int> primes;
for (int i = 2; i * i <= limit; ++i) {
if (!isComposite[i]) {
// 如果i是素数,将它的倍数标记为合数
for (int j = i * i; j <= limit; j += i)
isComposite[j] = true;
}
}
// 收集所有未标记为合数的数字作为素数
for (int i = 2; i <= limit; ++i)
if (!isComposite[i])
primes.push_back(i);
return primes;
}
int main() {
int limit = 100;
std::vector<int> primes = findPrimes(limit);
std::cout << "100以内的素数有:\n";
for (const auto& prime : primes)
std::cout << prime << " ";
std::cout << "\n";
return 0;
}
```
这段程序首先创建了一个布尔数组`isComposite`,然后通过遍历从2到sqrt(limit),如果找到一个质数,就将其倍数标记为合数。最后,剩下的未标记为合数的就是素数。
写一个求100以内素数的c++程序
您好,以下是求100以内素数的C程序:
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 2; i <= 100; i++) {
flag = 1;
for (j = 2; j <= i / 2; j++) {
if (i % j == ) {
flag = ;
break;
}
}
if (flag == 1) {
printf("%d ", i);
}
}
return ;
}
阅读全文