POJ 2739
2015-06-11 11:51
246 查看
#include<iostream> #include<stdio.h> #include<vector> #include<math.h> #include<algorithm> #define FOR for #define M 10009 using namespace std; vector<int> coll; bool prim1[M]; void give_list(); int main() { //freopen("acm.acm","r",stdin); give_list(); vector<int>::iterator pos; vector<int>::iterator pos1; int sum; int num; int ans; while(cin>>num,num) { ans = 0; for(pos = coll.begin(); pos != coll.end(); ++ pos) { sum = *pos; if(*pos > num/2+1) break; for(pos1 = pos+1; pos1 != coll.end(); ++ pos1) { sum += *pos1; if(sum > num) break; else if(sum == num) { ++ ans; break; } } } if(prim1[num]) cout<<++ans<<endl; else cout<<ans<<endl; } } void give_list() { int i; int j; memset(prim1,true,sizeof(bool)*M); prim1[1] = false; for(i = 2; i < sqrt(long double(M))+1; i ++) { if(prim1[i]) { j = 2*i; while(j < M) { prim1[j] = false; j += i; } } } for(i = 2; i < M; i ++) { if(prim1[i]) { coll.push_back(i); } } }
相关文章推荐
- POJ 2136
- websocket最新协议的握手实现
- mogodb 数据库备份好删除
- C++ primer学习1:细节:标准化后C++中,定义在for循环内部的变量,循环外部不可使用
- BoneCP主要配置参数
- (转)Android APP 漏洞分析
- ListView的LayoutParams设置
- Easyui 翻页不保存选中记录
- Linux系统如何查看cpu型号
- 解决vs打不了断点的小技巧
- 程序员保值的4个秘密
- 优化UITableViewCell高度计算的那些事
- mysql子查询优化
- 关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
- java学习笔记(八)—— extends and override
- SAS过程步常用语句
- Java中Void占位符的测试及个人理解
- 粒子群算法(1)----粒子群简要
- Object C学习笔记2-NSLog 格式化输出数据
- POJ 2707