码迷,mamicode.com
首页 > 其他好文 > 详细

poj: 2739

时间:2015-01-13 17:15:41      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

挺简单,生成素数表之后建个全素数的vector,然后。。随便玩咯

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string>
 4 #include <stack>
 5 #include <map>
 6 #include <vector>
 7 #include <algorithm>
 8 using namespace std;
 9 
10 bool prime[10010];
11 
12 void primes() {
13     memset(prime, true, sizeof(prime));
14     for (int i = 2; i < 10001; i++)
15         if (prime[i])
16             for (int j = 2; j * i < 10001; ++j) prime[i*j] = false;
17 }
18 
19 int main()
20 {
21     primes();
22     int n;
23     vector<int> S;
24     for (int i = 2; i < 10000; ++i)
25         if (prime[i]) S.push_back(i);
26     while (cin >> n && n) {
27         int ans = 0;
28         for (int i = 0; S[i] <= n; ++i) {
29             int sum = 0;
30             int cur = i;
31             while (sum <= n) {
32                 if (sum == n) {
33                     ans++;
34                     break;
35                 }
36                 else {
37                     sum += S[cur];
38                     cur++;
39                 }
40             }
41         }
42         cout << ans << endl;
43     }
44 
45     return 0;
46 }

 

poj: 2739

标签:

原文地址:http://www.cnblogs.com/yingzhongwen/p/4221656.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!