记录编号 19314 评测结果 AAAAAAAAAA
题目名称 [Japan2005] 连续素数和 最终得分 100
用户昵称 Gravatar苏轼 是否通过 通过
代码语言 C++ 运行时间 0.055 s
提交时间 2010-10-08 08:40:10 内存使用 0.38 MiB
显示代码纯文本
/*
ID: dxmtb
PROG: 连续素数和
TIME: 2010.9.16
STATE: Solved
MEMO: 枚举
*/
#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;
}