A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hsx500 中级黑马   /  2015-5-7 16:45  /  1197 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
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);
               }
         }
      }
}

10 个回复

倒序浏览
论坛里有人写出了解法思想, 你可以找找 应该是最近的  
回复 使用道具 举报
看着你的答案。
回复 使用道具 举报
看我的~~
  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
我写了一个水仙花,有源代码的你找找就能找到

读过了,你直接用ABC表示了3位数,这种和定义一个变量i相比,哪种更快呢?
回复 使用道具 举报
妖目 来自手机 中级黑马 2015-5-7 17:41:28
7#
写过了,回顾一下
回复 使用道具 举报

好简便。。
回复 使用道具 举报

话说怎么插入这种整齐的代码??
回复 使用道具 举报
本帖最后由 sandra_bae 于 2015-5-7 17:59 编辑

发个图也比较难的说。

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

按照图中做就行了~~

按照图中做就行了~~
回复 使用道具 举报
都是用的某的方法,不同位置的数然后在判断
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马