zoukankan      html  css  js  c++  java
  • POJ2739Sum of Consecutive Prime Numbers

    转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299063670

     

    提示:本题用一般的素数求法就可以做出来了,虽然可以AC,不过时间复杂度很大,所以我用了优化,优化的过程可以参看下一道水题POJ2262,两道水题基本上是同气连枝

     

     1 //Memory   Time 
    2 //232K 16MS
    3
    4
    5 #include<iostream>
    6 using namespace std;
    7
    8 int prim[1230]={2,3};
    9 int count=0;
    10
    11 void prime(void) //素数组打表
    12 {
    13
    14 int tally=2;
    15 int i,j,flag;
    16 for(i=5;i<10000;i+=2)
    17 {
    18 for(j=0,flag=1;prim[j]*prim[j]<=i;j++)
    19 if(i%prim[j]==0)flag=0;
    20 if(flag)
    21 {
    22 prim[tally]=i;
    23 tally++;
    24 }
    25 }
    26 return;
    27 }
    28
    29 void minus(int num,int i) //寻找num的素数组合个数
    30 {
    31 if(i<0)
    32 return;
    33 if(num-prim[i]==0)
    34 count++;
    35 else if(num-prim[i]>0)
    36 minus(num-prim[i],i-1);
    37 else
    38 return;
    39 return;
    40 }
    41
    42 int main(void)
    43 {
    44 prime();
    45 int num,i,k;
    46 for(;;)
    47 {
    48 cin>>num;
    49 if(num==0)return 0;
    50 for(i=0;i<1230;i++)
    51 if(num==prim[i])
    52 {
    53 count++;
    54 k=i-1;
    55 break;
    56 }
    57 else if(num<prim[i])
    58 {
    59 k=i-1;
    60 break;
    61 }
    62 for(i=k;i>=0;i--)
    63 minus(num,i);
    64 cout<<count<<endl;
    65 count=0;
    66 }
    67 return 0;
    68 }
    [ EXP技术分享博客 ] 版权所有,转载请注明出处: http://exp-blog.com
  • 相关阅读:
    用工具爬虎牙星秀VS用代码
    mysql简单的操作
    MySQL5.1的安装过程
    MySQL的安装
    SQL server 2008 的安装
    数据库基础知识
    HTTP协议
    TCP协议
    web系统基础
    软件测试缺陷的定义、产生原因、缺陷报告格式、缺陷报告
  • 原文地址:https://www.cnblogs.com/lyy289065406/p/2120481.html
Copyright © 2011-2022 走看看