/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 5 月 20 日
* 版 本 号:v1.0
*
* 问题描述:
* 输入描述:
* 程序输出:
*/
题目描述
写一个程序验证歌德巴赫猜想:一个不小于6的偶数可以表示为两个素数的和。提交函数prime即可。
输入
8
输出
8=5+3
提示
#include <iostream>
#include <cmath>
using namespace std;
int main()
{ int prime(int);
int n,a,b;
cin>>n;
for(a=3;a<=n;a=a+2)
{ if(prime(a))
{ b=n-a ;
if(prime(b))
cout<<n<<"="<<a<<"+"<<b<<endl;
}
return 0;}
}
代码:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int prime(int);
int n,a,b;
cin>>n;
for(a=3; a<=n/2; a=a+2)
{
if(prime(a))
{
b=n-a ;
if(prime(b))
cout<<n<<"="<<b<<"+"<<a<<endl;
}
}
return 0;
}
int prime(int x)
{
int r;
if(x==1)
return 0;
for(int r=2; r<=sqrt(x); ++r)
{
if(x%r==0)
return 0;
}
return 1;
}