问题 B: C/C++经典程序训练6---歌德巴赫猜想的证明
时间限制: 1 Sec 内存限制: 64 MB提交: 1525 解决: 587
[ 提交][ 状态][ 讨论版]
题目描述
写一个函数gotbaha, 验证“每个不小于6的偶数都是两个奇素数之和”,输入一个不小于6的偶数n,找出两个素数,使它们的和为n。
输入
输入一个不小于6的偶数n
输出
找出两个为素数,使它们的和为n。
样例输入
80
样例输出
80=7+73
提示
主函数已给定如下,提交时不需要包含下述主函数
/* C代码 */
int main()
{
int n;
int gotbaha(int);
int prime(int);
scanf("%d",&n);
gotbaha(n);
return 0;
}
/* C++代码 */
int main()
{
int n;
int gotbaha(int);
int prime(int);
cin>>n;
gotbaha(n);
return 0;
}
#include <iostream>
using namespace std;
int gotbaha(int);
int prime(int);
int gotbaha(int n)
{
int i,a,b;
for(i=0;i<n;i++)
{
a=i;
b=n-i;
if(prime(a)&&prime(b))
{
cout<<n<<"="<<a<<"+"<<b<<endl;
break;
}
}
return 0;
}
int prime(int x)
{
if(x==1) return 0;
if(x!=2&&x%2==0) return 0;
for(int i=2;i<x;i++)
{
if(x%i==0)
return 0;
}
return 1;
}
int main()
{
int n;
int gotbaha(int);
int prime(int);
cin>>n;
gotbaha(n);
return 0;
}