Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
54753 | 陶俊宸 | 挑质数 | C++ | 解答错误 | 0 | 0 MS | 308 KB | 411 | 2022-07-29 17:08:00 |
#include<iostream> bool st[10001]={1,1}; int n,pn[10000],pl,a,num,ans[10000]; int main(){ scanf("%d",&n); for(int i=2;i<=10000;i++){ if(!st[i]) pn[pl++]=i; for(int j=0;i*pn[j]<=n;j++){ st[i*pn[j]]=1; if(!(i%pn[j])) break; } } for(int i=0;i<n;i++){ scanf("%d",&a); if(!st[a]) ans[num++]=a; } printf("%d\n",num); for(int i=0;i<num;i++) printf("%d\n",ans[i]); return 0; }