turbo c问题....怎么把一个偶数拆分成两个质数的和,而且要写出所有可能!谁来帮帮忙啊,急!

来源:百度知道 编辑:UC知道 时间:2024/06/06 07:06:30

你没有说范围,最小的偶数是2最大的你自己输吧!
解:源程序如下:
#include <stdio.h>
#include <math.h>
main()
{
int k=0,z,i,j,x,y,f,t,n;
clrscr();
printf("please enter a number big 0 to n:\n");
scanf("%d",&n);
for(z=2;z<=n;z=z+2)
{
for (x=2;x<=z/2;x++)
{
f=1;
for(i=2;i<=sqrt(x);i++)
if(x%i==0)
{
f=0;
break;
}
if(f)
{
y=z-x;
t=1;
for(j=2;j<=sqrt(y);j++)
if (y%j==0)
{
t=0;
break;
}
if (t)
{
printf("%5d=%3d+%2d",z,x,y);
if (++k%5==0) /*每行五个输出*/
printf("\n");
break;
}
}
}
}
}

打一个素数表,然后枚局就是了
要不用搜索也可以

这种问题我一般 遍历