poj2793 素数和

简介: 题目链接:http://poj.org/problem?id=2739   #include using namespace std; int count=0; int prim[1234]={2,3}; void primer() { ...

题目链接:http://poj.org/problem?id=2739

 

#include<iostream>
using namespace std;
 int count=0;
 int prim[1234]={2,3};
 void primer()
 {                      //列出所有素数
     int f,i,j,q=2;
     for(i=5;i<10000;i+=2)
      {

      for(j=0,f=1;prim[j]*prim[j]<=i;j++)   
         if(i%prim[j]==0)f=0;       
     if(f)
     {
         prim[q++]=i;       //小技巧
     }
      }

 }
 void minu(int n,int i)
 {
         if(i<0)return ;
     if(n==prim[i])
     {
         count++;
     }
     else if(n>prim[i])
        minu(n-prim[i],i-1);    
        else return ;
        return;

 }



 int main()
 {    primer();
     int n,k,i;
     while(cin>>n)
     {if(n==0)break;
         for( i=0;i<1230;i++)
         if(n==prim[i]){count++;k=i-1;break;}
         else if(n<prim[i]){k=i-1;break;}    //找到k(和输入的数最接近的素数的位置)
         for(  i=k;i>=0;i--)
            minu(n,i);        //倒着减找到,和相等的组合
         cout<<count<<endl;
         count=0;
     }
     return 0;
 }

  

相关文章
|
7月前
Pseudoprime numbers(POJ-3641 快速幂)
Pseudoprime numbers(POJ-3641 快速幂)
|
7月前
PTA-求指定范围内的素数
求指定范围内的素数
102 0
|
7月前
PTA-求100以内的素数
求100以内的素数
66 0
|
Java
hdu 1262 寻找素数对
hdu 1262 寻找素数对
38 0
|
机器学习/深度学习 C语言
【C素数】素数(质数)和分解质因数
【C素数】素数(质数)和分解质因数
138 0
【C素数】素数(质数)和分解质因数
AcWing 726. 质数
AcWing 726. 质数
53 0
AcWing 726. 质数
POJ-3641,Pseudoprime numbers(快速幂)
POJ-3641,Pseudoprime numbers(快速幂)
HDU-1262,寻找素数对(素数打表)
HDU-1262,寻找素数对(素数打表)