现在的位置: 首页 > 综合 > 正文

hdu 2098 分拆素数和(水题)

2018年01月12日 ⁄ 综合 ⁄ 共 519字 ⁄ 字号 评论关闭

题目分析:把一个偶数,拆成两个不同的质数,有集中拆发,

给一个偶数n<10^4,先把质数找出来放到vis【】,下表为0的为z质数,在查找,水题



#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
	int vis[10100];
	memset(vis,0,sizeof(vis));
	vis[1]=1;
	vis[0]=1;
	for(int i=2;i<=10000;i++)
	{
		for(int j=i*2;j<=10000;j+=i)
		{
			vis[j]=1;
		}
	}
	
	/*for(int i=2,j=1;i<=100;i++)
	{
		j++;
		if(vis[i]==0)
		  printf("%d  ",i);
		if(j%10==0)
			printf("\n");
	}*/
	int n;
	while(scanf("%d",&n)!=EOF && n!=0)
	{
		int ans=0;
		for(int i=2;i<n/2;i++)
		{
			if(vis[i]==0&&vis[n-i]==0)
			{
				ans++;
				//printf("%d***%d\n",i,n-i);
			}
		}
		printf("%d\n",ans);
	}
	system("pause");
	return 0;
}



抱歉!评论已关闭.