(DS1.4.3)POJ 2739(一个数能表示成多少个连续素数之和)

来源:互联网 发布:mac不充电 编辑:程序博客网 时间:2024/05/14 11:33
/* * POJ_2379.cpp * *  Created on: 2013年10月18日 *      Author: Administrator */#include <iostream>#include <cstdio>using namespace std;const int maxn = 10010;int su[maxn];bool u[maxn];int num;int n;void prepare() {int i, j;num = 0;memset(u, true, sizeof(u));for (i = 2; i <= 10001; ++i) {if (u[i]) {su[++num] = i;}for (j = 1; j <= num; ++j) {if (i * su[j] > 10001) {break;}u[i * su[j]] = false;if (i % su[j] == 0) {break;}}}}int main() {prepare();while(scanf("%d",&n)!=EOF,n){int i,j;int ans = 0;for(i = 1 ; su[i] <= n ; ++i){int cnt = 0;for(j = i ; j < num && cnt < n ; ++j){cnt += su[j];}if(cnt == n){ans++;}}//printf("%d\n",ans);cout<<ans<<endl;}return 0;}

原创粉丝点击