哥德巴赫猜想命题之一是:大于6的偶数可以表示成两个素数的和.编写程序验证40~60的偶数由哪些素数组成.
1个回答

#include

int p[17] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59};

int fun(int n, int *p1, int *p2)

{

int i, j;

*p1 = *p2 = 0;

if(n % 2 != 0 || n < 4)

{

return 0;

}

for(i = 0; i < 17; ++i)

{

for(j = 0; j < 17; ++j)

{

if(p[i] + p[j] == n)

{

*p1 = p[i];

*p2 = p[j];

return 1;

}

}

}

return 0;

}

int main()

{

int n, p1, p2;

while(1)

{

printf("请输入一个40到60之间的偶数n");

scanf("%d", &n);

if(n == 0)

{

break;

}

if(fun(n, &p1, &p2))

{

printf("%d + %d = %dn", p1, p2, n);

}

else

{

printf("输入错误n");

}

}

return 0;

}