记录编号 266094 评测结果 AAAAAAAAAA
题目名称 神秘的素数 最终得分 100
用户昵称 GravatarGaoErFu 是否通过 通过
代码语言 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(){;
}