用C++验证歌德巴赫猜想

来源:百度知道 编辑:UC知道 时间:2024/06/03 17:30:48
1+1验证:(歌德巴赫猜想:任一大于2的偶数都可写为2个素数之和)输入2个自然数,将这两个自然数之间的所有偶数均显示为2个素数和的形式;同时要求建立1个素数库(存贮方式自定),用于保存本程序已经计算出的所有素数,并将素数库保存至硬盘,以便本程序下次运行时可以利用以前已经计算出的素数。

证明1000000以内歌德巴赫猜想的正确性。
#include <stdio.h>
#include <stdlib.h>

#include <math.h> /*调用函数库,用到sqrt*/
int prime (); /*声明函数prime()*/
int main()
{
int add1,add2,sum; /*定义变量两个加数和所输入的数*/

scanf("%d",&sum); /*读入数据*/
while( sum >= 6 && sum < 1000000) /*while loop,判断条件*/
{
add1 = 3; /*将较小的加数初始化*/
add2 = sum - add1;

while( prime(add1,sum) ==0 || prime(add2,sum) == 0) /*while loop*/
{
add1 += 1;
add2 -= 1;
}
printf("%d = %d + %d\n",sum,add1,add2); /*打印结果*/
scanf("%d",&sum);
}

return 0;
}
int prime ( int add,int sum) /*定义能判断一个数是否为质数的函数*/
{
int result;
in