验证数学猜想。
时间: 1ms 内存:128M
描述:
写一个程序验证歌德巴赫猜想:一个不小于6的偶数可以表示为两个素数的和。提交函数prime即可。
输入:
8
输出:
8=5+3
示例输入:
示例输出:
提示:
参考答案(内存最优[0]):
#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;}
}
int prime(int m)
{ int i,k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>k) return 1;
else return 0;
}
参考答案(时间最优[0]):
#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;}
}
int prime(int m)
{ int i,k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0) break;
if(i>k) return 1;
else return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。