筛法求素数(C语言 C++)_素数筛法c++代码 🚀
🌟引言:
在编程的世界里,寻找素数是一个经典的问题。今天,让我们一起探讨如何用C++语言来实现这一功能,特别是通过著名的“筛法”来高效地找到一系列素数。筛法是一种非常高效的算法,可以快速筛选出一定范围内的所有素数。
💻C++代码实现:
首先,我们需要理解埃拉托斯特尼筛法(Sieve of Eratosthenes)的基本原理。该方法的核心思想是:要找出小于或等于N的所有素数,我们从最小的素数2开始,将每个素数的倍数标记为非素数。通过这种方法,我们可以有效地筛选出所有的素数。
```cpp
include
include
using namespace std;
void sieveOfEratosthenes(int n) {
vector
for (int p=2; pp<=n; p++) {
if (prime[p] == true) {
for (int i=pp; i<=n; i+=p)
prime[i] = false;
}
}
for (int p=2; p<=n; p++)
if (prime[p])
cout << p << " ";
}
int main() {
int n = 50;
cout << "素数有: ";
sieveOfEratosthenes(n);
return 0;
}
```
🌈总结:
通过使用C++实现筛法,我们可以轻松地找到一定范围内的所有素数。这种方法不仅简单易懂,而且执行效率非常高。希望这篇分享对你有所帮助,如果你有任何疑问或者建议,请随时留言讨论!🚀