要求将6~50之间偶数都表示成两个素数之和(不知道哪里出问题了)
下面是我编的程序,不知道该怎么改了#include
#include
void main(void)
{
int i,m,k=0,s,l=0;
for(m=6;m<=50;m+=2)
{
for(s=3;s<50;s++)
{
m=s+(m-s);
k=(int)sqrt(s);
for(i=2;i<=k;i++)
if(s%i==0) break; 这里好像出问题了,求大神指导一二
if(i>k)
l=(int)sqrt(m-s);
for(i=2;i<=l;i++)
if((m-s)%i==0) break;
if(i>l)
printf("%d=%d+%d\n",m,s,(m-s));
}
}
}
真正的结果如下:
[ 本帖最后由 布衣书生 于 2011-12-8 16:39 编辑 ]