您的位置:首页 > 其它

哥德巴赫猜想

2014-09-16 19:13 141 查看
Description

一个不小于6的偶数可以表示为两个素数之和,例如6=3+3,8=3+5…….现在请你写一个程序,当输入一个偶数n(6=<n<2^32-1)时,输出对应得满足条件的两个素数。

 

输入多组测试数据,当n为0时退出

Sample Input

6
8
10
0

Sample Output

3  3
3  5
3  7

 

 

#include<iostream>

#include<cmath>

using namespace std;

char f(int n)

{

   int i,q=sqrt((double)
n);

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

   {

   
if(n%i==0)

  return 0;

  

   }

   return 1;

}

int main()

{

   int i,n;

  while(cin>>n
&& n!=0)

   {

  

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

 {

 
if(f(i)&&f(n-i))

   break;

 }

 cout<<i<<"
"<<n-i<<endl;

   }

   return 0;

 

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: