黑马程序员技术交流社区

标题: 打印出所有的"水仙花数"。 [打印本页]

作者: 小骆驼    时间: 2015-6-21 23:14
标题: 打印出所有的"水仙花数"。
打印出所有的"水仙花数"。
        所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
        153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
class Test
{
        public static void main(String[] args)
        {
                for(int x=100;x<1000;x++)
                {
                        int g = x%10;//定义变量g,通过三位数x%10获取个位 数字
                        int s = (x/10)%10;//获取十位上的数字
                        int b = x/100;//获取百位上的 数字
                        if ((100*b+10*s+g)==(b*b*b+s*s*s+g*g*g))
                        {
                                int y = x;//定义一个变量y记录“水仙花数”
                                System.out.println(y);
                        }
                }
        }
}
作者: cyd1058    时间: 2015-6-21 23:30
这道题我见过
作者: guohaichang    时间: 2015-6-21 23:52
你这是要交流什么?
作者: JJJD    时间: 2015-6-22 00:07
谢谢分享!
作者: 张安哲    时间: 2015-6-22 00:09
我只是默默的赚个 黑马币
作者: 改变    时间: 2015-6-22 10:06
学习了。。。
作者: hoop.zeng    时间: 2015-6-22 11:52
因为你的每次循环里,都没有对x重新赋值,我觉得不需要int y = x;这步操作,直接打印x就行
作者: 王冲6060    时间: 2015-6-22 17:36
感谢分享
作者: 景彬    时间: 2015-6-22 17:53
嗯嗯,以前见过,温习了,谢谢楼主~
作者: 小骆驼    时间: 2015-6-22 22:24
hoop.zeng 发表于 2015-6-22 11:52
因为你的每次循环里,都没有对x重新赋值,我觉得不需要int y = x;这步操作,直接打印x就行 ...

貌似挺对呀,我这里有点啰嗦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2