c++有个判断语句无法执行
龙傲天参上 2015-12-16 03:32:20 #include<iostream>
using namespace std;
int prime(int x){
int i,j=0;
if(x<=0)j=1;
else for(i=1;i<=x;i++){
if(x%i==0)j++;
}
return j;
}
int godbah(int x){
int i,j;
for(i=1;i<x;i++){
for(j=1;j<x;j++){
if(i+j==x&&prime(i)==2&&prime(j)==2)
break;
}
}
return j;
}
int main()
{
int x,a,b;
cout<<"x=";
cin>>x;
if(x<=6)cout<<"您输入的值有误";
else{
a=godbah(x);
b=x-a;
cout<<x<<"="<<a<<"+"<<b<<endl;
}
}
第二个函数的循环语句
if(i+j==x&&prime(i)==2&&prime(j)==2)
break;
中break不执行是为什么
这是验证哥德巴赫猜想的运行结果不正确