poj 2739 Sum of Consecutive Prime Numbers
来源:互联网 发布:python 语音实时采集 编辑:程序博客网 时间:2024/06/05 03:35
题目大意:给出一个正数,把它分解为n个连续素数的和,求解有几种分解方法。
分析:我用的是最简单粗暴的方法,先用筛法得到素数表,再用双重循环判断是否连续的几个素数的和是否等于给定的数,如果大于则调到第一层循环,找下一个素数列。
下面上代码:(代码注释的一处是我第一次做的时候没有考虑完善的地方,所以没能得到正确结果)
#include<stdio.h>#include<stdlib.h>#include<string.h>#define TRUE 1#define FALSE 0#define N 10010int p[N]; //若i为素数,则p[i[==1void prime(void){ //利用筛法得出素数表 int i,j; memset(p,1,sizeof(p)); //先假设所有数都是素数 p[0]=p[1]=0; for(i=2;i*i<N;i++) { if(p[i]) for(j=2*i;j<N;j+=i) p[j]=0; }}int solve(int sum){ int cnt;//cnt用于计数 int i,j; int sumtemp=0; for(j=2,cnt=0;j<=sum;j++,sumtemp=0) { if(p[j]) sumtemp+=j; else continue; //此处这样做是因为j可能不是素数, //故如果不单独处理,而放在第二层循环中一块从处理则会出现重复的情况, //如17=17=2+3+5+7中17可能在j=14是被算到一次,即cnt++一次, //故最后结果错误 if(sumtemp==sum) cnt++; for(i=j+1;i<sum;i++) { if(p[i]) sumtemp+=i; if(sumtemp>sum) break; if(sumtemp==sum) { cnt++; break; } } } return cnt;}int main(){ int sum; prime(); while(scanf("%d",&sum)==1&&sum) { printf("%d\n",solve(sum)); } return 0;}
0 0
- POJ 2739 Sum of Consecutive Prime Numbers
- poj 2739 Sum of Consecutive Prime Numbers
- POJ 2739 Sum of Consecutive Prime Numbers
- POJ 2739 Sum of Consecutive Prime Numbers
- poj 2739 Sum of Consecutive Prime Numbers
- POJ 2739 Sum of Consecutive Prime Numbers
- poj 2739 Sum of Consecutive Prime Numbers
- POJ 2739 Sum of Consecutive Prime Numbers
- POJ-2739-Sum of Consecutive Prime Numbers
- POJ 2739 Sum of Consecutive Prime Numbers
- poj 2739 Sum of Consecutive Prime Numbers
- poj - 2739 - Sum of Consecutive Prime Numbers
- poj 2739 Sum of Consecutive Prime Numbers
- poj 2739 Sum of Consecutive Prime Numbers
- 【POJ-2739】Sum of Consecutive Prime Numbers
- POJ 2739 Sum of Consecutive Prime Numbers
- POJ-2739-Sum of Consecutive Prime Numbers
- POJ 2739 Sum of Consecutive Prime Numbers
- struts-convention零配置--约定大于配置
- 微软网络公开课 《揭秘云计算与移动互联网时代下的Web API》4月6号晚9点!
- SeedCoder2014热身题9:解答
- photoshop lab模式
- cocos2dx学习之javascript(0.1)运行例程
- poj 2739 Sum of Consecutive Prime Numbers
- SeedCoder2014热身题10:消失之物
- Android Canvas练习(1)画一张报表来玩
- find函数学习与应用
- [转] AFNetworking、MKNetworkKit和ASIHTTPRequest对比
- 那些年做了一些有的没的的PS
- SQL Server中的存储过程
- 杭电OJ 1026:Ignatius and the Princess I
- 黑马程序员_IOS课程申请