比赛 20100913 评测结果 AAAAAAAAAA
题目名称 连续素数和 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2010-09-13 19:45:57
显示代码纯文本
#include <cstdio>
using namespace std;

const int MAXN=10005;

int prime[MAXN],top=1;
int re[MAXN],s[MAXN];

void init()
{
	bool flag[MAXN];
	for(int i=2;i<10000;i++)
		flag[i]=true;
	for(int i=2;i<10000;i++)
		if (flag[i])
		{
//			printf("%d\n",i);
			prime[top++]=i;
			for(int j=i+i;j<10000;j+=i)
				flag[j]=false;
		}
}

int main()
{
	init();
	freopen("conprime.in","r",stdin);
	freopen("conprime.out","w",stdout);
	for(int i=1;i<top;i++)
		s[i]=s[i-1]+prime[i];
	for(int i=0;i<top;i++)
		for(int j=i+1;j<top;j++)
			if (s[j]-s[i]<=10000)
			re[s[j]-s[i]]++;
	int n;
	scanf("%d",&n);;
	while(n)
	{
		printf("%d\n",re[n]);
		scanf("%d",&n);
	}
	return 0;
}