迈巴赫猜想
一个不小于6的偶数,可以表示为两个素数之和。如 6=3+3,8=3+5,10=3+7.......
我的代码是
#include"iostream.h"
main()
{
int n;
int pd(int);
cout<<"请输入大于六的偶数:"<<endl;
cin>>n;
cout<<n<<endl;
pd(n);
return 0;
}
int pd(int n) //调用函数//
{
int i,j,k,x;
for(i=3,j=n-i;i<=j,j>=i;i++,j--)
{
for(k=2,x=2;k<i,x<n-i;k++,x++)
{
if(i%k!=0&&j%x!=0)
break;
else
continue;
}
cout<<n<<"="<<i<<"+"<<n-i<<endl;
}
return 0;
}
语法没有错误,但是运行的时候出现问题,比如说输入n=8的时候,运行时候DOS会显示8=3+5,8=4+4
搞不懂为什么还会出现4 这样的偶数,以我上面的程序来说
for(k=2,x=2;k<i,x<n-i;k++,x++)
{
if(i%k!=0&&j%x!=0) 当i=4的时候,n-i=4 则i%k==0,(n-i)%k==0, 执行continue 跳出本循环执行外循环;
break; 求高手赐教,并帮其修改
else
continue;
}