黑马程序员技术交流社区

标题: 水仙花的第二种做法 [打印本页]

作者: 魔心邪    时间: 2015-5-2 01:07
标题: 水仙花的第二种做法
class ShuiXianHua
{
        public static void main(String[] args)
        {
                for (int x=1;x<=9 ;x++ )
                {
                        for (int y=0;y<=9 ;y++ )
                        {
                                for (int z=0;z<=9 ;z++ )
                                {
                                        int sum=x*x*x+y*y*y+z*z*z;
                                        int        count=x*100+y*10+z;
                                       
                                        if (sum==count)
                                        {
                                                System.out.println(count);
                                        }
                                }
                        }
                }
               
        }
}

作者: 怪学究    时间: 2015-5-2 11:45
鼓励有新思路的同学
作者: 1017161726    时间: 2015-5-2 12:29
啊哦。这么做是可以的。我就是在思考怎么才能更简单一点。优化。
作者: 黄冬    时间: 2015-5-2 12:44
1017161726 发表于 2015-5-2 12:29
啊哦。这么做是可以的。我就是在思考怎么才能更简单一点。优化。

简单的做法,个人认为还是拆分三位数的个位、十位、百位,然后去判断。楼主的这个方式也能实现,不过貌似效率有点低吧!个人看法!
作者: 希-望    时间: 2015-5-2 12:50
好  顶一个
作者: 快乐Anne    时间: 2015-5-2 12:56
学习了,自己还需多多思考
作者: 1017161726    时间: 2015-5-2 13:33
黄冬 发表于 2015-5-2 12:44
简单的做法,个人认为还是拆分三位数的个位、十位、百位,然后去判断。楼主的这个方式也能实现,不过貌似 ...

如果是把一个整数,拆分成三个数字,再去判断。
和直接用三个数字判断,再合成整数。
应该还是直接用数字判断简单一点。这个可以用求时间差的方法验证一下。
而且这样写的代码量少一点。只有一个三层循环而已。
作者: zy18692243338    时间: 2015-5-2 13:50
赞赞赞赞
作者: an_lucas    时间: 2015-5-2 13:59
学习了。。。
作者: 横看成岭侧成锋    时间: 2015-5-2 16:06
弱弱的问一句,水仙花是什么鬼
作者: lshaizj    时间: 2015-5-2 16:33
水仙花是什么?
作者: 龙腾浩少    时间: 2015-5-2 18:04
如果是再加个几位数呢?你不会再嵌套用5个for来弄吧(PS:水仙花是三个数,但是很多题目可以出到更多位,只要满足条件即可)
作者: 清香白莲    时间: 2015-5-2 18:20
3层循环,效率低下
作者: 空--格    时间: 2015-5-2 18:40
有思路很重要,上层都是从底层爬上去的
作者: 神行客    时间: 2015-5-2 19:28
思路不错!有创新性!
作者: fantacyleo    时间: 2015-5-3 00:03
lz的思路用来解确定位数的水仙花数当然是可以的。但如果要求把代码封装为函数,给定参数n,求1-n之间的水仙花数,lz的思路就行不通了。而逐个分解出各位数的做法仍然可以满足求1-n之间的水仙花数的需求
作者: 黄文昭    时间: 2015-5-3 00:39
效果一样,感觉还复杂一些。
作者: 我爱吃橙子    时间: 2015-5-3 00:45
用了3层循环也可以实现
作者: 君嘘    时间: 2015-5-3 00:49
很不错 有想法。




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