[求助]如何把一个大于4的偶数表示为两个素数之和?这样为什么不行呢?????
#include "stdio.h" #include "math.h"
void fun(int a)
{
int b,c,d;
for(b=3;b<=a/2;b=b+1)
{
for(c=2;c<=sqrt(b);c++)
if(b%c==0) break;
if(c>sqrt(b)) d=a-b;
else break;
for(c=2;c<=sqrt(d);c++)
if(d%c==0) break;
if(c>sqrt(d))
printf("%d=%d+%d\n",a,b,d);
}
}
main()
{
int a;
printf("Input a:\n");
scanf("%d",&a);
fun(a);
}
----------------解决方案--------------------------------------------------------
这是书里的编法。但只能表示出个别偶数
如12,24,42……等都表示不了。哪位大侠帮我看看。不胜感激!!!
----------------解决方案--------------------------------------------------------
//判断素数.
for(i=2;i*i<=a;i++)
{
if(a%i==0)
{
return 0;
}
return 1;
}
----------------解决方案--------------------------------------------------------