cc++编程题之验证哥德巴赫猜想
验证哥德巴赫猜想
cstring转为int题⽬描述
哥德巴赫猜想:任何⼀个⼤于6的偶数均可表⽰为两个素数之和。输⼊两个整数m,n(6⼩于等于m,m⼩于等于n,n⼩于等100),将m,n之间的偶数表⽰成两个素数之和
输⼊描述
输⼊两个⼤于6的正整数分别给m和n。
输出描述
输出m和n之间所有偶数表⽰成的两个素数之和。
输⼊样例
8 10
输出样例
8=3+5 10=3+7
AC代码如下:
#include "iostream" #include "cstdio" #include "algorithm" #include "cstring" #include "cstdlib" #include "cmath" using namespace std; int fun(int n) { int flag=1; for (int i=2;i<=sqrt(n);i++) { if (n%i==0) { flag=0; break; } } if(flag==1) return 1; else return 0; } void print(int n,int sum) {
printf("%d=%d+%d\n",sum,n,sum-n); } int main(int argc, char* argv[]) { int n,m,i,j; while(cin>>n>>m) { for (j=n;j<=m;j++) { if (j%2==0) { for
(i=2;i<=j/2;i++) { if (fun(i) && fun(j-i)) { print(i,j); break; } } } } } return 0; }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论