您的位置:

c语言哥德巴赫猜想分解,哥德巴赫猜想代码c语言

本文目录一览:

C语言 哥德巴赫猜想:任意大于等于6的偶数都可以分解为2个质数之和:如6=3+3,8=3+5;10

#includestdio.h

int prime(int n)

{

if (n % 2 == 0  n != 2) return 0;

int i = 3;

for (; i  n; i += 2)

if (n % i == 0) return 0;

return 1;

}

int main()

{

int n, j = 0;

scanf("%d", n);

if (n % 2 == 1 || n  6) return 1;

for (j = 2; j = n / 2; j++)

{

if (prime(j)  prime(n - j))

printf("%d=%d+%d\n", n, j, n - j);

}

return 0;

}

如何用C语言编程哥德巴赫猜想?

#include

void main( )

{

int i, j, k, IsPrime;

for(i = 4; i = 100; i += 2) /*偶数i从4到100*/

{

for(j = 2; j = i / 2; j++) /* 将j从2到i/2进行测试 */

{

for(k = 2, IsPrime = 1; (k = j / 2) IsPrime; k++) /*判断j是否为素数*/

if(j % k == 0) IsPrime = 0;

if(IsPrime) { /*如果j是素数*/

for(k = 2, IsPrime = 1; (k = (i - j) / 2) IsPrime; k++) /*判断i-j是否是素数*/

if((i - j) % k == 0) IsPrime = 0;

if(IsPrime) /*如果i-j也是素数,则找到了i的一个解,将其输出,下一个偶数i*/

{

printf("%d = %d + %d\t", i, j, i - j);

break;

}

}

}

}

}

除了printf与main外,没有用到其他任何的函数,楼主不妨试一试。

初学C语言 验证哥德巴赫猜想:一个大偶数可以分解成两个素数之和。

你好,我给在几个地方加了几个{}就可以了,代码:

#includestdio.h

#includemath.h

main()

{

int n,x,y,a,b,i,j;

for(n=96;n=100;n+=2)

{

for(x=3;xn/2;x+=2)

{                              //第一个括号

a=sqrt(x);

for(i=2;i=a;i++)

if(x%i==0) break;

if(i=a+1)

{                    // 第二个括号 它必须保证找到第一个素数,才能执行下面

y=n-x;          // 找第二个素数

b=sqrt(y);

for(j=2;j=b;j++)

if(y%j==0) break;

if(j=b+1)

printf("%d=%d+%d\n",n,x,y);

}

}                                     //第一个括号结束

}

}

C语言 哥德巴赫猜想

我的程序不行么,我回答过你一次了

#include stdio.h

int is_prime(int n)

{

int i;

for(i = 2; i n ; i++)

{

if(n % i == 0)

break;

}

if(n == i)

return 1;

else

return 0;

}

int main(void)

{

int M;

int i,j;

int flag = 0;

scanf("%d",M);

for(i = M/2; i M; i++)

{

for(j = M/2;j 1; j-- )

if((is_prime(i)is_prime(j)) ((i+j) == M))

{

printf("%d %d\n",j,i);

flag = 1;

break;

}

if(flag == 1)

break;

}

return 0;

}