《啊哈C》书中第5章第6节中的“更进一步,动手试一试”那要求“输出每一个偶数的所有可能的拆分办法”
这题想了很久,都未能找到合适算法,请知者帮忙指点。
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
system("pause");
system("cls");
int k,a,b,i,fa,fb;
for(k=4;k<=100;k=k+2)
{
for(a=2;a<=k/2;a++)
{
//判断 a 是否为质数
fa=0;
for(i=2;i<=a-1;i++)
{
if(a%i==0)
{
fa=1;
break;
}
}
if(fa==0) //如果 a 为质数
{
b=k-a;
//判断 b 是否为质数
fb=0;
for(i=2;i<=b-1;i++)
{
if(b%i==0)
{
fb=1;
break;
}
}
if(fb==0) //如果 b 也是质数
{
printf("%d=%d+%d\n",k,a,b);
break;
}
//打印这个解并跳出循环
}
}
}
system("pause");
return 0;
}
[/mw_shl_code]
|