记录编号 |
266094 |
评测结果 |
AAAAAAAAAA |
题目名称 |
神秘的素数 |
最终得分 |
100 |
用户昵称 |
GaoErFu |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
9.761 s |
提交时间 |
2016-06-05 16:21:29 |
内存使用 |
0.26 MiB |
显示代码纯文本
#include<stdio.h>
#include<math.h>
int a[20010]={0},q,sj;
void sushu(int x,int *a)
{
int i,n;
while(q*q<=x)q++;
if(a[a[0]]<=sj)
{
for(i=1;i<=a[0];i++)
{
if(x%a[i]==0)
return ;
if(a[i]>q)break;
}
a[a[0]+1]=x;
a[0]++;
printf("%d\n",x);
return ;
}
else
{
for(i=1;i<=a[0];i++)
{
if(x%a[i]==0)
return ;
if(a[i]>q)break;
}
printf("%d\n",x);
return ;
}
}
int cc()
{
freopen("p_rime.in","r",stdin);
freopen("p_rime.out","w",stdout);
int i,n;
a[0]=1;
a[1]=2;
q=1;
scanf("%d",&n);
sj=sqrt(n);
sj++;
printf("2\n");
for(i=3;i<=n;)
{sushu(i,a);i+=2;}
return 0;
}
int c=cc();
int main(){;
}