C语言验证哥德巴赫猜想
问题描述】验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为2个素数之和,例如6=3+3,8=3+5,....,18=5+13。输入整数m和n,将m~n之间的偶数表示为...
问题描述】验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为2个素数之和,例如6=3+3,8=3+5,....,18=5+13。输入整数m和n,将m~n之间的偶数表示为2个素数之和,打印时一行打印5组。素数就是只能被1和自身整除的正整数,最小的素数是2.要求调用函数prime(a)判断a是否为素数,当a为素数时返回1,否则返回0。
【输入形式】
【输出形式】
【样例输入】6,10
【样例输出】6=3+3 8=3+5 10=3+7 10=5+5 展开
【输入形式】
【输出形式】
【样例输入】6,10
【样例输出】6=3+3 8=3+5 10=3+7 10=5+5 展开
1个回答
展开全部
#include<stdio.h> void main() {int x,y,z; int i,j; for(x=4;x<100;x++,x++) // 对100以内的偶数 for(y=1;y<x;y++) //y<x改成y<x/2就可以去掉8=3+5 8=5+3这类的重复了 {for(i=2;i<y;i++) //判断y是否为素数 if(y%i==0) break; if(i==y) // y是素数 { z=x-y; // x=y+z for(j=2;j<=z;j++) //判断z是否为素数 if(z%j==0) break; if(j==z) //z是素数 printf("%d=%d+%d\t",x,y,z); } } printf("\n"); }
追问
能写的标准店吗?谢谢啦
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询