标题:小学生新人求高手解答问题!谢谢
取消只看楼主
liuyinuo2006
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-7-28
结帖率:0
已结贴  问题点数:20 回复次数:1 
小学生新人求高手解答问题!谢谢
我是小学生,暑假刚学习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
liuyinuo2006
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-7-28
得分:0 
回复 2楼 rjsp
谢谢版主大人,我修改成功了!请你推荐一本初学者用的书。
2017-07-29 10:12



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




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

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