黑马程序员技术交流社区

标题: 什么是水仙花数?怎么用代码进行判断 [打印本页]

作者: 王朋    时间: 2013-5-22 18:53
标题: 什么是水仙花数?怎么用代码进行判断
本帖最后由 王朋 于 2013-5-22 19:17 编辑

什么是水仙花数?怎么用代码进行判断
作者: huaruibang    时间: 2013-5-22 19:17
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)  
现在假设n=3
通过 循环 百位 十位 个位  判断 是否满足 百位^3+ 十位^3+个位^3 =这个数

上代码: for (int i = 0; i < 10; i++)
            {
                for (int j = 0; j < 10; j++)
                {
                    for (int k = 0; k < 10; k++)
                    {
                        if (i*i*i+j*j*j+k*k*k==i*100+j*10+k)
                        {
                            Console.WriteLine(i * 100 + j * 10 + k);
                        }
                    }
                }
            }
作者: mosuge7    时间: 2013-5-22 19:20
本帖最后由 mosuge7 于 2013-5-22 19:35 编辑

水仙花数:
如果a*a*a+b*b*b+c*c*c=cba,那么cba就是水仙花数,其中c b a代表百位、十位、各位的数字。
判断一个数是否为水仙花谁:
           Console.WriteLine("请输入一个数");
            int i = Convert.ToInt32(Console.ReadLine());
            int ge = i % 10;
            int shi = i / 10 % 10;
            int bai = i / 100;
            if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai)
            {
                Console.WriteLine("{0}是水仙花数", i);
            }
作者: huaruibang    时间: 2013-5-22 22:27
好吧 为了这题 忙活 一晚上 这是我的 解题思路:http://www.cnblogs.com/rufus-hua/archive/2013/05/22/3093858.html
作者: 魏庆君    时间: 2013-5-22 23:46
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
  1. Console.WriteLine("请输入一个数");
  2. int i = Convert.ToInt32(Console.ReadLine());
  3. int bai = i % 100;//取得百位上的数字
  4. int shi = (i - bai*100) % 10;//得到十位上的数字
  5. int ge = (i -bai* 100-shi*10)%10;//个位上的数字
  6. if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai)//由if语句判断i是不是水仙花数
  7. {
  8.       Console.WriteLine("{0}是水仙花数", i);
  9. }
复制代码





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