写一个c语言的欧拉筛法的函数
时间: 2023-03-13 09:05:40 浏览: 145
路冷.zip_C语言_欧拉公式
我可以为你提供一个简单的C语言欧拉筛法函数:int sieveOfEratosthenes(int n)
{
// 建立一个布尔数组,用于记录素数
bool prime[n+1];
memset(prime, true, sizeof(prime));
for (int p=2; p*p<=n; p++)
{
// 如果p是素数,则将它的倍数标记为非素数
if (prime[p] == true)
{
// 从p*2开始,将2*p、3*p、4*p等标记为非素数
for (int i=p*2; i<=n; i += p)
prime[i] = false;
}
}
// 打印所有素数
for (int p=2; p<=n; p++)
if (prime[p])
cout << p << " ";
}
阅读全文