C语言题目,很纠结.请大神们解救~!很急!二、证明哥德巴赫猜想:所有的正偶数都可以分解为两个素数,在1000以内能够成立,并至少给出每个正偶数的一组分解.1、主函数的算法:对4到1000之间的

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 05:58:42
C语言题目,很纠结.请大神们解救~!很急!二、证明哥德巴赫猜想:所有的正偶数都可以分解为两个素数,在1000以内能够成立,并至少给出每个正偶数的一组分解.1、主函数的算法:对4到1000之间的

C语言题目,很纠结.请大神们解救~!很急!二、证明哥德巴赫猜想:所有的正偶数都可以分解为两个素数,在1000以内能够成立,并至少给出每个正偶数的一组分解.1、主函数的算法:对4到1000之间的
C语言题目,很纠结.请大神们解救~!很急!
二、证明哥德巴赫猜想:所有的正偶数都可以分解为两个素数,在1000以内能够成立,并至少给出每个正偶数的一组分解.
1、主函数的算法:对4到1000之间的偶数进行穷举,验证每一个偶数都可以分解成两个素数的和.(将分解过程单独写成一个函数goldbahe)
2、函数goldbahe的算法:对于一个偶数even,要想分解成m+n,首先要对m从2至m/2进行穷举,得到其中的一个数m,自然,另外一个数就是n=even-m,然后验证这一对数是否是素数,是的话,得到的m和n就是一组分解,不是继续判断下一组m和n.(这里判断素数可以另写成一个函数prime)
3、函数prime的算法:对于一个数n,要判断它是否是素数,要从2至sqrt(n)进行穷举,验证每一个数是否能整除n,如果发现能整除的数,说明n不是素数,返回0,否则,继续验证下一个数.直至循环结束返回1
这个是问题.
下面是我写的程序:
#include
#include
void main()
{
int goldbahe(int a);
int prime(int a); /*判断a是否是素数*/
int a,m,n;
for(a=4;a

C语言题目,很纠结.请大神们解救~!很急!二、证明哥德巴赫猜想:所有的正偶数都可以分解为两个素数,在1000以内能够成立,并至少给出每个正偶数的一组分解.1、主函数的算法:对4到1000之间的
你的没有错.我这里运行的很OK.
你的那个对4的判断完全可以去掉.
因为2,2是素数.