标题:小学生新人求高手解答问题!谢谢
只看楼主
liuyinuo2006
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-7-28
结帖率:0
已结贴  问题点数:20 回复次数:6 
小学生新人求高手解答问题!谢谢
我是小学生,暑假刚学习C++,遇到如下问题,求大神解决!谢谢!
写一个奇数能分解成三个质数的和程序。judge是判断一个数是不是质数的,主程序调用judge函数。

但在编译运行的时候,输入奇数9,为什么会出现两行n=3+3+3
怎么解决这个问题?为什么会出现两行同样的n=3+3+3?跪求解答!

#include<iostream>
#include<math.h>
using namespace std;
int judge(int x)
{
    int i;
    for(i=2;i<=x/2;i++)
    {
        if(x%i==0)
        {
            return 0;
        }
    }
    if(x!=1)
    return 1;
}
int main( )
{
int a,b,c,d,i1,i2,n;
cin>>n;
for(i1=2;i1<=n-1;i1++)
{   
    if(judge(i1)==1)
    {
        a=i1;
        b=n-a;
    }
    for(i2=2;i2<=b-1;i2++)
    {
        if(judge(i2)==1)
        {
            c=i2;
            d=n-c-a;
        if(judge(d)==1&&a<=c&&a<=d&&c<=d)
        {
            cout<<"n="<<a<<"+"<<c<<"+"<<d<<endl;
        }   
        }
    }
   
}
}


[此贴子已经被作者于2017-7-28 23:59编辑过]

搜索更多相关主题的帖子: 小学生 两行 include int for 
2017-07-28 23:57
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
if 应该将 for 包含进去

btw:建议你换本书,这代码
2017-07-29 08:17
liuyinuo2006
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-7-28
得分:0 
回复 2楼 rjsp
谢谢版主大人,我修改成功了!请你推荐一本初学者用的书。
2017-07-29 10:12
peng880610
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:128
专家分:123
注 册:2017-3-29
得分:5 
C++  Primer  Plus   第六版,这本,个人认为还不错,就是篇幅比较长,将近1000页吧!
2017-07-29 15:16
yehuabao
Rank: 2
等 级:论坛游民
帖 子:45
专家分:87
注 册:2017-8-3
得分:5 
回复 4楼 peng880610
1000页,这么厚。
2017-08-03 16:16
马迷芳草
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2017-8-1
得分:5 
回复 4楼 peng880610
谢谢推荐,新手学习了
2017-08-03 17:51
jinanman
Rank: 1
等 级:新手上路
帖 子:9
专家分:7
注 册:2017-9-20
得分:0 
先画个流程图
2017-09-22 17:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-479686-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.189495 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved