黑马程序员技术交流社区

标题: 水仙花数 怎么输出来没有结果 [打印本页]

作者: xiabingxiejiang    时间: 2013-8-5 23:43
标题: 水仙花数 怎么输出来没有结果
            int a, b, c;
            for (int i = 100; i <= 999; i++)
            {
                c = i / 100;
                b = (i - c) / 10;
                a = i - b - c;
                if (i == a * a * a + b * b * b + c * c * c)
                {
                    Console.WriteLine(i);
                }
            }

            Console.ReadKey();
作者: 小天    时间: 2013-8-6 10:06
本帖最后由 小天 于 2013-8-6 10:09 编辑

            for (int i = 100; i <= 999; i++)
            {
                int a, b, c,d;//a是百位上的数,b是十位上的数,c是个位上的数
                a = i / 100;
                d = i / 10;
                b = d%10;
                c = i % 10;
                if (i == a * a * a + b * b * b + c * c * c)
                {
                    Console.WriteLine(i);
                }
            }
                Console.ReadKey();
楼主的写的代码有问题,其中c是百位上的数,十位和个位上的数有问题

作者: xiabingxiejiang    时间: 2013-8-6 10:14
小天 发表于 2013-8-6 10:06
for (int i = 100; i

哦,看明白了。
作者: 小天    时间: 2013-8-6 10:33
楼主,如果问题已经解决,请将状态【未解决】改为已解决

无标题.png (2.78 KB, 下载次数: 27)

无标题.png

QQ拼音截图未命名00.jpg (34.81 KB, 下载次数: 25)

QQ拼音截图未命名00.jpg

作者: 范国伟    时间: 2013-8-6 20:12
忘了算位值了,
b = (i - c*100) / 10;
a = i - b*10 - c*100;
你这样改一下就行了

作者: 啊拉拉的坑啊    时间: 2013-8-7 10:04
  int a, b, c;//a为百位,b为十位,c为个位
            for (int i = 100; i <= 999; i++)
            {
            
                a = i / 100;
                b = (i % 100) / 10;
                c = i % 10;
                if (i == a * a * a + b * b * b + c * c * c)
                {
                    Console.WriteLine(i);
                }

作者: 高文咪    时间: 2013-8-7 11:48
  1.             int a, b, c;
  2.             for (int i = 100; i < 999; i++)
  3.             {
  4.                 a = i / 100;//百位数;
  5.                 b = (i-a*100)/10;//十位数;
  6.                 c = i % 100;//个位数
  7.                 if (i == a * a * a + b * b * b + c * c * c)
  8.                 {
  9.                     Console.WriteLine(i);
  10.                 }

  11.             }
  12.             Console.ReadLine();
复制代码

作者: 庞海瑞    时间: 2013-8-7 11:54
  //计算100到999的水仙花数:a*a*a+b*b*b+c*c*c=cba
// g 为个位,s为十位 b为百位
            
            Console.WriteLine("输出100到999的水仙花数");
            for (int i = 100; i <= 999;i++ )
            {
                int g = i % 10;
                int s = i / 10 % 10;
                int b = i / 100;
                if (i == g * g* g + s * s * s + b * b * b)
                {
                    Console.WriteLine(i);
                 }





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