标题:这是求从100~999的水仙花数的,但为什么输出的结果不正确呢?
只看楼主
wuchuyuan
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-4-13
 问题点数:0 回复次数:5 
这是求从100~999的水仙花数的,但为什么输出的结果不正确呢?
这是求从100~999的水仙花数的,但为什么输出的结果不正确呢?

#include<iostream.h>
void main()
{int a,b,c,s,p;
for(s=100;s>=100&&s<=999;s++)
{for(a=1;a<=9;a++)
{for(b=0;b<=9;b++)
 {for(c=0;c<=9;c++)
p=a*a*a+b*b*b+c*c*c;
 if(s==p)cout<<p<<endl;}}}
}
搜索更多相关主题的帖子: 水仙花 结果 输出 
2008-04-14 19:37
wuxueyan2008
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-3-31
得分:0 
楼主的算法有问题,看看这个完整的程序,本人亲自编写的。
#include <iostream>
using namespace std;
int main()
{
    int a,b,c;
    for(int i=100;i<1000;i++)
    {
        a=i/100;
        b=(i%100)/10;
        c=i%10;
        if(a*a*a+b*b*b+c*c*c==i)
            cout<<i<<endl;
    }
    return 0;
        
}
2008-04-14 22:42
落叶星空
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-4-25
得分:0 
水仙花数是指这个数=这个数的百位的三次方+十位的三次方+各位的三次方
2008-04-25 23:36
lcsqmx
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-1-17
得分:0 
有点意思!哈哈点
2008-04-29 22:33
songjianzheng
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-5-1
得分:0 
我没有运行这个程序,但我想运行结果应该是100到999都输出.问题出在:当你确定一个s时,你用0到9*9*9+9*9*9+9*9*9这个数与其比较,所以所有数都满足
2008-05-01 16:42
songjianzheng
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-5-1
得分:0 
不好意思
疏忽了,由于a*a*a+b*b*b+c*c*c不是连续变化的
所以输出的
应该不是连续的数
2008-05-01 16:46



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




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

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