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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乔利柱 中级黑马   /  2012-10-22 10:36  /  1873 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 乔利柱 于 2012-10-24 13:17 编辑

水仙花数字是什么意思?例如abc三位数;

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

6 个回复

倒序浏览
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
(例如:1^3 + 5^3 + 3^3 = 153)

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
a*a*a+b*b*b+c*c*c=abc,例如153,1*1*1+5*5*5+3*3*3=153,所以153就是水仙花数

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
我的博客里有关于打印水仙花数的demo
http://blog.csdn.net/typ0520/article/details/7893452

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
水仙花数只是自幂数的一种,严格来说三位数的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>");
  }
  }

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如: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);
            }
        }

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
不过我只用过三位数的,这是一般意义上的水仙花数,而四位数以上的那些我没弄过,你试试,其实明白原理即可啦
程序实质就是循环计算,符合条件a*a*a+b*b*b+c*c*c=abc则输出对应结果

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马