首页 > 其他分享 >验证哥德巴赫猜想

验证哥德巴赫猜想

时间:2022-11-22 16:11:08浏览次数:41  
标签:prime 验证 int 44 偶数 素数 哥德巴赫猜想

验证哥德巴赫猜想大家都知道一点吧。我们现在不是想证明这个结论,而是对于任给的一个不小于6的偶数,来寻找和等于该偶数的所有素数对。做好了这件实事,就能说明这个猜想是成立的。

要求输入一个不小于6的偶数m ,输出和等于该偶数的所有素数对a和b,按a递增的顺序输出,(a,b)和(b,a)被视为同一个素数对。
如:44=3+41
44=7+37
44=13+31
程序定义一个prime()函数和一个main()函数,prime()函数判断一个整数n是否是素数,其余功能在main函数中实现。

素数=奇数+2,奇数一定就是素数,所以循环从3开始,每次加2,保证了都是奇数即素数。

求素数时,从2开始到sqrt(x)就可以判断是否为素数了,没必要都进行一遍。


#include <math.h>
#include <stdio.h>

int prime(int i) 
{
      int q=1,c,j; 
      c=(int)sqrt(i); 
    for(j=2;j<=c;j++){
       if(i%j==0){
        q=0;} 
 } 
return q; 
} 
int main() 
{ 
   int num; 
   int i,k,w,e; 
    scanf("%d",&num); 
   for(i=3;i<=num/2;i=i+2){  
     w=1; 
     e=0; // w和e做判断素数用
     w=prime(i); 
     if(w==1) 
       { 
          k=num-i; 
          e=prime(k); 
       } 
       if(w==1 && e==1) 
       printf("%d %d\n",i,k); 
  } 
} 

标签:prime,验证,int,44,偶数,素数,哥德巴赫猜想
From: https://www.cnblogs.com/JK8395/p/16915424.html

相关文章