验证数学猜想。

验证数学猜想。

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注