Wang_Xu @ 2024-08-15 16:44:46
#include<bits/stdc++.h>
using namespace std;
const long long N=1e6;
long long n;
bool flag[10000006];
long long pri[10000006],pn;
int main()
{
std::ios::sync_with_stdio(0);
cin>>n;
for(long long i=1;i<=n;i++)
{
cin>>pri[i];
}
for(long long i=2;i<=n;i++)
{
if(flag[i]==0) pri[++pn]=i;
for(long long j=1;j<=pn&&j*pri[i]<=n;j++)
{
flag[i*pri[j]]==1;
if(i%pri[j]==0) break;
}
}
for(long long i=1;i<=pn;i++)
{
cout<<pri[i]<<" ";
}
}
by suxiaozhou @ 2024-08-15 17:07:10
请 仔细 阅读题目后再进行作答。
本题的要求是 对于每个正整数k,输出质数表中的第k个数。
您的代码似乎与题意不相符。
by Xuancheng_Mao @ 2024-08-16 15:58:30
注意看数据范围
by CodeEmperor @ 2024-08-16 18:34:39
@Wang_Xu 你要不看看你在写什么
by Emancipator @ 2024-09-12 22:29:28
flag要开到100000000