玄关
  • 板块灌水区
  • 楼主dg114514
  • 当前回复4
  • 已保存回复5
  • 发布时间2024/8/28 11:24
  • 上次更新2024/8/28 14:44:17
查看原帖
玄关
1373205
dg114514楼主2024/8/28 11:24

p3383本地未报错但评测机报错

#include<bits/stdc++.h>
#define int long long 
#define All(a) a.begin(),a.end()
using namespace std;
int f[100000007]={1,1},prim[100000007],cnt=0;
inline int read(){char c=getchar();int x=0,f=1;while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c))x=x*10+(c^48),c=getchar();return x*f;}
inline void write(int a){if(a<0){putchar('-'),write(-a);return;}if(a<10){putchar(a|48);return;}write(a/10);putchar((a%10)|48);}
signed main()
{
	for(int i=2;i<=1e8;i++){
		if(!f[i])prim[++cnt]=i;
		for(int j=1;j<=cnt&&i*prim[j]<=1e8;j++){
			f[i*prim[j]]=1;
			if(i%prim[j]==0)break;
		}
	}
	read();
	int n=read();
	for(int i=1;i<=n;i++)
		write(prim[read()]),cout<<endl;
}
2024/8/28 11:24
加载中...