#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
const int maxn = 100;
int a[maxn];
void prime()
{
for(int i = 2; i <= maxn; i += 2) a[i] = 0;//先挑出偶数
for(int i = 3; i <= maxn; i += 2) a[i] = 1;//挑出奇数;
a[1] = 0;
a[2] = 1;
for(int i = 3; i <= (int)sqrt(maxn); i++)//找奇数中的素数;
{
if(a[i])//找和i有倍数关系的奇数中的素数;如3 9 15 21 .......
{
int k = 2*i;
int t = k + i;
while(t<=maxn)
{
a[t] = 0;//将和i有倍数关系的奇数标记掉;
t += i;
}
}
}
}
int main()
{
prime();
for(int i = 1; i <= maxn; i++)
if(a[i]) printf("%d ", i);
}
《素数模板》
最新推荐文章于 2024-08-18 14:39:38 发布