POJ 2739 满足条件的连续素数和的个数
2013-04-01 15:57
429 查看
//11422316 c00h00g 2739 Accepted 828K 16MS G++ 896B 2013-04-01 15:55:42 #include<stdio.h> #include<stdlib.h> #include<math.h> const int Max=100000; int p[Max]; int a[Max]; int sum[Max]; int cp_prime(int n){ int l=(int)sqrt(n*1.0); for(int i=2;i<=l;i++) if(a[i]==0) for(int j=i;i*j<=n;j++) a[i*j]=1; int num=1; for(int j=2;j<=n;j++) if(a[j]==0) p[num++]=j; return num; } int n; int main(){ int cnt=cp_prime(Max); sum[0]=0; for(int i=1;i<cnt;i++) sum[i]=p[i]+sum[i-1]; while(scanf("%d",&n)&&n){ if(n==2) {printf("1\n");continue;} int i=1,j=2,res=0; while(i<=j){ int tmp=sum[j]-sum[i]+p[i]; if(tmp<n) j++; else if(tmp>n) i++; else{ res++; if(i==j) break; else{ i++,j++; } } } printf("%d\n",res); } //system("pause"); return 0; }
相关文章推荐
- POJ-2739 Sum of Consecutive Prime Numbers-求一个数满足有多少组递增相加的素数等于该数
- POJ 2739(连续素数和) 解题报告
- POJ 2739(连续素数和) 解题报告
- POJ 2739 Sum of Consecutive Prime Numbers(连续素数和)
- (DS1.4.3)POJ 2739(一个数能表示成多少个连续素数之和)
- POJ2739,Sum of Consecutive Prime Numbers,连续素数相加和,水过
- POJ 2739 Sum of Consecutive Prime Numbers-数论-(连续素数和)
- POJ 2739 Sum of Consecutive Prime Numbers【素数打表】
- 编写一个小程序,从标准输入读入一系列string对象,寻找连续重复出现的单词。程序应该找出满足一下条件的单词:该单词的后面紧接着再次出现自己本身。跟踪重复次数最多的单词及其重复次数,输出.
- 查找介于n1与n2(0<n1<n2<32768)之间所有满足下列条件的整数: (1)该数的十进制表示中有且仅有两个相同的数字位; (2)该数是素数。
- poj 2739 Sum of Consecutive Prime Numbers【素数筛】
- poj 2739 Sum of Consecutive Prime Numbers 素数 读题 难度:0
- POJ 2739 Sum of Consecutive Prime Numbers(素数)
- POJ 2739—Sum of Consecutive Prime Numbers (素数)
- POJ2739 Sum of Consecutive Prime Numbers【素数筛选+尺取法】
- POJ 2739 Sum of Consecutive Prime Numbers( *【素数存表】+暴力枚举 )
- poj_2739 素数打表
- POJ 2739 Sum of Consecutive Prime Numbers(素数表的应用)
- POJ_2739_Sum_of_Consecutive_Prime_Numbers_(尺取法+素数表)
- poj 1201 Intervals 差分约束系统+SPFA 给出一些区间, 告诉每个区间中至少需要取Ci个数。求出满足n个条件的集合C的最少的元素个数