码迷,mamicode.com
首页 > 其他好文 > 详细

分拆素数和。

时间:2014-07-31 09:40:45      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:des   style   os   io   for   new   amp   size   

Description

把一个偶数拆成两个不同素数的和,有几种拆法呢?

Input

每行包含一个正的偶数,其值不会超过10000,个数不会超过500

Output

对应每个偶数,输出其拆成不同素数和的组数,每个结果占一行。

Sample Input

30

26

Sample Output

3

2

 写一个判断是素数的函数,在主函数中判断a-i与i是否都为素数即可。i的最大值为n/2,且a-i!=i.

#include <iostream>

#include <cstdio>

#include <cmath>

#include <algorithm>

using namespace std;

int prime(int n)

{       int i;   

  double t;    

if(n%2!=0||n==2)    

{     if(n==2)            

return 1;        

else       

  {          

   t=sqrt(n);           

  for(i=3; i<=t; i+=2)              

   if(n%i==0)                    

break;           

  if(i>sqrt(n))               

  return 1;            

else                

return 0;       

  }    

}

    else        

return 0; }

int main()

{   

int a;   

while(cin>>a)  

  {       int sum=0,i;     

  for(i=2;i<=a/2;i++)    

   {           if(i!=a-i)        

   {               if(prime(i)&&prime(a-i)) sum++;           }      

}       cout<<sum<<endl;    }   

return 0; }

分拆素数和。,布布扣,bubuko.com

分拆素数和。

标签:des   style   os   io   for   new   amp   size   

原文地址:http://www.cnblogs.com/famousli/p/3879904.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!