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不执行是为什么

这是验证哥德巴赫猜想的运行结果不正确
...全文
125 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦想田园 2015-12-16
  • 打赏
  • 举报
回复
调试执行了,是不是你编译器配置有问题?
赵4老师 2015-12-16
  • 打赏
  • 举报
回复
“多一少一”问题占程序员常犯错误的10%以上! 避免“多一少一”问题的方法之一是将比如<10甚至<5的数代入程序片断,搬手指头心算验证一下程序到底应该写为 x、x-1、x+1中的哪个? <、<=、==、>、>=中的哪个?
龙傲天参上 2015-12-16
  • 打赏
  • 举报
回复
求大神帮助下,老师都没整明白http://zhidao.baidu.com/question/434301907999156084.html

64,674

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧