黑马程序员技术交流社区

标题: 水仙花数 [打印本页]

作者: 赵刘滨    时间: 2012-8-13 17:28
标题: 水仙花数
什么是水仙花数?如何输出所有三位数的水仙花数?
作者: 和志强    时间: 2012-8-13 18:35
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
我写的winform判断3位水仙花数的应用程序,可以参考下
  1. int i,a, b, c, t;
  2.             i = Convert.ToInt32(textBox1.Text);
  3.             { t=i;
  4.             a = t % 10; t = t / 10; b = t % 10; c = t / 10;
  5.             if (a * a * a + b * b * b + c * c * c ==i)
  6.                 label2.Text = "该数是水仙花数";
  7.             else
  8.                 label2.Text = "该数不是水仙花数";
复制代码

作者: 和志强    时间: 2012-8-13 18:43
输出所有 3位水仙花数如下,可以以此方法算出其他的位数的,理论上,最大的水仙花数不超过34位

  1.             int i,a,b,c,t;
  2.             for(i=100;i<1000;i++)
  3.             {
  4.                 t=i;
  5.                 a = t % 10; t = t / 10; b = t % 10; c = t / 10;
  6.                  if (a * a * a + b * b * b + c * c * c ==i)
  7.                  {
  8.                      Console.WriteLine("{0}",i);
  9.                  }

  10.             }
复制代码

作者: 孙亚雄    时间: 2012-8-13 18:56
1L正解
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>");
  }
  }
作者: 董蒙蒙    时间: 2012-8-13 23:20
以下为100到999内的水仙花数:
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;

  5. namespace _06水仙花数
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             for (int i = 100; i <= 999; i++)
  12.             {
  13.                 int a = i % 10;
  14.                 int b =i/10 % 10;
  15.                 int c = i / 10 / 10;
  16.                 int sum=a*a*a+b*b*b+c*c*c;
  17.                 if (sum == i)
  18.                 {
  19.                     Console.WriteLine(sum);
  20.                 }
  21.             }
  22.             Console.ReadKey();
  23.         }
  24.     }
  25. }
复制代码





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