黑马程序员技术交流社区

标题: 水仙花数是咋回事? [打印本页]

作者: 乔利柱    时间: 2012-10-22 10:36
标题: 水仙花数是咋回事?
本帖最后由 乔利柱 于 2012-10-24 13:17 编辑

水仙花数字是什么意思?例如abc三位数;
作者: 黑马王亚男    时间: 2012-10-22 15:35
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
(例如:1^3 + 5^3 + 3^3 = 153)

作者: 李盛利    时间: 2012-10-22 15:36
a*a*a+b*b*b+c*c*c=abc,例如153,1*1*1+5*5*5+3*3*3=153,所以153就是水仙花数
作者: 佟亚鹏    时间: 2012-10-22 17:51
我的博客里有关于打印水仙花数的demo
http://blog.csdn.net/typ0520/article/details/7893452
作者: 刘-洋    时间: 2012-10-22 20:10
水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。
 for (int i = 100; i < 1000; i++)
  {
  int bai = 0;
  int shi = 0;
  int ge = 0;
  int baiyushu = 0;
  bai = i / 100;
  baiyushu = i % 100;
  shi = baiyushu / 10;
  ge = baiyushu % 10;
  if (i == bai * bai * bai + shi * shi * shi + ge * ge * ge)
  {
  Console.WriteLine("水仙花数:" + i + "<br>");
  }
  }
作者: 985127948    时间: 2012-10-22 23:58
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153

int a, b, c;
        for (int i = 100; i < 1000; i++)
        {
            a = i % 100 / 10;
            b = i % 10;
            c = i / 100;
            if ((a * a * a + b * b * b + c * c * c) == i)
            {
                Console.WriteLine(i);
            }
        }

作者: 黑马杨锦喜    时间: 2012-10-23 00:38
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
不过我只用过三位数的,这是一般意义上的水仙花数,而四位数以上的那些我没弄过,你试试,其实明白原理即可啦
程序实质就是循环计算,符合条件a*a*a+b*b*b+c*c*c=abc则输出对应结果




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