首页 > 代码库 > 使用C程序验证歌德巴赫猜想

使用C程序验证歌德巴赫猜想

就是一个足够大的偶数可以写成两个素数的和

 1 #include<stdio.h> 2 #include<math.h> 3  4 int main(void) 5 { 6     int i,j; 7     int num=30284;   //任意大于6的偶数 8     int p,q; 9     int flagp,flagq;10 11     p=1;12     do13     {14         p=p+1;15         q=num-p;16         flagp=1;17         flagq=1;18 19         for(i=2;i<sqrt((double)p);++i)20         {21             if(p%i==0)22             {23                 flagp=0;24                 break;25             }26         }27 28         j=2;29         while(j<sqrt((double)q))30         {31             if(q%j==0)32             {33                 flagq=0;34                 break;35             }36             ++j;37         }38     }while(flagq*flagq==0);39 40     printf("%d = %d + %d \n",num,p,q);41     return 0;42 }

 思路就是从p=1开始计算,是否将大数分解后的两个数p,q都是素数,是就输出,不是的话就+1继续进行运算

使用C程序验证歌德巴赫猜想