黑马程序员技术交流社区

标题: 水仙花数的解,有人看看嘛? [打印本页]

作者: hsx500    时间: 2015-5-7 16:45
标题: 水仙花数的解,有人看看嘛?
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153
是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方


思路:循环100——999的所有数,拆分为百位,十位,个位,判断是否满足"水仙花数"
步骤:
1.定义一个变量循环表示100——999
2.定义变量分别储存百位,十位,个位的值
判断是否相等,若相等,则输出


我滴妈呀,这得循环多少次啊,有人有简便解法吗?
for(i =100;i<1000;i++)
{
    for(a =1;a<10;a++)
    {
         for(b=0;b<10;b++)
         {
              for(c=1;c<10;c++)
              {
              if((a^3+b^+c^3)==i)
                  s.o.p(i);
               }
         }
      }
}

作者: ninjaes    时间: 2015-5-7 16:51
论坛里有人写出了解法思想, 你可以找找 应该是最近的  
作者: 907888614    时间: 2015-5-7 17:35
看着你的答案。
作者: sandra_bae    时间: 2015-5-7 17:36
看我的~~
  1. /*
  2. 水仙花数
  3. */

  4. class FlowerNum1
  5. {
  6.         public static void main(String[] args)
  7.         {
  8.                 int count = 0;

  9.                 for(int num = 100;num <= 999; num++)
  10.                 {
  11.                         int ge = num%10;
  12.                         int shi = num%100/10;
  13.                         int bai = num/100;
  14.                         if((ge*ge*ge + shi*shi*shi + bai*bai*bai) == num)
  15.                         {
  16.                                 count++;
  17.                         }
  18.                 }

  19.                 System.out.println(count);
  20.         }
  21. }
复制代码

作者: bboyXiaoNuo    时间: 2015-5-7 17:37
我写了一个水仙花,有源代码的你找找就能找到
作者: hsx500    时间: 2015-5-7 17:39
bboyXiaoNuo 发表于 2015-5-7 17:37
我写了一个水仙花,有源代码的你找找就能找到

读过了,你直接用ABC表示了3位数,这种和定义一个变量i相比,哪种更快呢?
作者: 妖目    时间: 2015-5-7 17:41
写过了,回顾一下
作者: hsx500    时间: 2015-5-7 17:44
sandra_bae 发表于 2015-5-7 17:36
看我的~~

好简便。。
作者: hsx500    时间: 2015-5-7 17:45
sandra_bae 发表于 2015-5-7 17:36
看我的~~

话说怎么插入这种整齐的代码??
作者: sandra_bae    时间: 2015-5-7 17:56
本帖最后由 sandra_bae 于 2015-5-7 17:59 编辑

发个图也比较难的说。

捕获.PNG (128.16 KB, 下载次数: 20)

按照图中做就行了~~

按照图中做就行了~~

作者: 邓熊财    时间: 2015-5-7 18:16
都是用的某的方法,不同位置的数然后在判断




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