黑马程序员技术交流社区

标题: 什么是水仙花数呢? [打印本页]

作者: 1406046710    时间: 2015-9-15 23:17
标题: 什么是水仙花数呢?
水仙花是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
水仙花数只是自幂数的一种。
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数


作者: 18664300701    时间: 2015-9-15 23:26
你找的出1000以内的水仙花数吗
作者: 1406046710    时间: 2015-9-16 10:42
本帖最后由 1406046710 于 2015-9-16 16:23 编辑
18664300701 发表于 2015-9-15 23:26
你找的出1000以内的水仙花数吗

能啊。
思路:
       ①
是1000以内用循环for(int i = 100;i<1000;i++)。
  
作者: 1406046710    时间: 2015-9-16 11:19
18664300701 发表于 2015-9-15 23:26
你找的出1000以内的水仙花数吗

能啊。
思路:
       ①水仙花数,位数至少为3位
       ②是1000以内用循环,for(int i = 100;i<1000;i++)。
       ③符合条件(水仙花数)记录下,用判断语句if(Math.pow(i/100%10,3)+
          Math.pow(i/10%10,3)+Math.pow(i%10,3)==i)...
作者: 小Who    时间: 2015-10-21 22:58
学习了{:3_46:}
作者: ash午夜阳光    时间: 2015-10-22 00:08
static int printShuiXianNum() {
                int count = 0;
                for (int i = 100; i < 1000 ; i++ ) {
                        if((i / 100) * (i / 100) * (i / 100)
                                +(i % 100 / 10) * (i % 100 / 10) * (i % 100 / 10)
                                + (i % 10) * (i % 10) * (i % 10) == i) {
                                count ++;
                        System.out.println(i);
                        }
                }
                return count;
        }




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