避免超时 写之前还是先打个表吧……
#include<iostream>
#include<cmath>
using namespace std;
const int N = 100000000;
bool isprime[N+1];
int main()
{
int n, a, b, c, d, e, f, x, m;
isprime[2] = 1;
for (int i = 3; i <= N; i++)//粗步的判断 进行筛选
{
if (i % 2)//判断是否是奇数
{
isprime[i] = 1;
}
else isprime[i] = 0;
}
for (int i = 3; i <= sqrt(N); i=i+2)//抓奇数 增倍
{
//找到奇数 然后开始数倍变化
for (int j = 2 * i; j < N; j += i)
{
isprime[j] = false;//让 6 变为 0
}
}
cin >> m;
for (int i = 1; i <= m; i++)
{
if (isprime[i])
{
cout << i;
}
}
}