poj 2739

水题。

代码:

#include<iostream>
#include<fstream>

using namespace std;

int a[10001];
int n;
void read(){
//	ifstream cin("in.txt");
	int i,j,k,s,ans;
	for(i=4;i<=10000;i+=2)
		a[i]=1;
	for(i=3;i<=10000;i+=2)
		if(a[i]==0)
			for(j=i*2;j<=10000;j+=i)
				a[j]=1;
	while(cin>>n){
		if(n==0) return ;
		ans=0;
		for(i=2;i<=n;i++)
		{
			if(a[i]==0)
			{
				k=i;s=i;
				if(k==n) ans++;
				else
					if(k<n)
				{
					while(k<n)
					{
						for(j=s+1;j<=n;j++)
							if(a[j]==0)
								break;
						k+=j;
						s=j;
					}
					if(k==n) ans++;
				}
			}
		}
		cout<<ans<<endl;
	}
}




int main(){
	read();
	return 0;
}

posted on 2011-03-29 15:26  宇宙吾心  阅读(237)  评论(0)    收藏  举报

导航