C语言 验证哥德巴赫猜想

Python015

C语言 验证哥德巴赫猜想,第1张

#include "stdio.h"

#include "math.h"

int prime(int x)

{

int i

for(i=2i<=sqrt(x)i++)

 if(x%i==0)return 0

return 1

}

int main(void)

{

  int count, i, j, k, m, n, number

  scanf("%d%d", &m, &n)

  if(m % 2 != 0) m = m + 1

  if(m >= 6){

    for(i=mi<=ni+=2)

      {for(j=3j<i/2j+=2)

         if(prime(j)&&prime(i-j))

         {printf("%d=%d+%d\n",i,j,i-j)break}

       }

  }

}

首先更正一下,哥德巴赫猜想是不小于6的偶数……符合你要求的程序如下,可以运行:

#include<stdio.h>

int isprime(int n)/*判断n是否为素数的函数*/

{

int j,x

for(j=2j<nj++)

if(n%j==0)

{

x=0

break

}else

x=1

return(x)

}

main()

{

int n,i

printf("请输入一个不小于6的偶数:\n")

scanf("%d",&n)

while(n<6||n%2!=0)

{

printf("您的输入有误,请重新输入:\n")

scanf("%d",&n)

}

for(i=3i<(n/2)i++)

{

if(isprime(i)!=0)

if(isprime(n-i)!=0)

printf("%d可以写成%d与%d之和。\n",n,i,n-i)

}

}