1086.c

来自「平时acm训练时ac的源代码」· C语言 代码 · 共 48 行

C
48
字号
#include <stdio.h>

int prost[16001];
int i,j,k,x,n;
int flag;

void look(int x)
{
	int i;
	i=prost[k];
	do
	{
		i=i+2;
		flag=1;
		for(j=1;j<=k;j++)
		{
			if(i%prost[j]==0)
			{
				flag=0;
				break;
			}
			if(prost[j]*prost[j]>i) break;
		}
		if(flag)
		{
			k=k+1;
			prost[k]=i;
		}
	}
	while(k!=x);
	printf("%d",prost[k]);
}

void main()
{
	prost[1]=2;
	prost[2]=3;
	prost[3]=5;
	k=3;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&x);
        if(x>k) look(x);
	    else printf("%d",prost[x]);
    }
	getch();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?