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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1406046710 中级黑马   /  2015-9-15 23:17  /  980 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

水仙花是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
水仙花数只是自幂数的一种。
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数

5 个回复

正序浏览
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;
        }
回复 使用道具 举报
学习了{:3_46:}
回复 使用道具 举报
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)...
回复 使用道具 举报
本帖最后由 1406046710 于 2015-9-16 16:23 编辑
18664300701 发表于 2015-9-15 23:26
你找的出1000以内的水仙花数吗

能啊。
思路:
       ①
是1000以内用循环for(int i = 100;i<1000;i++)。
  
回复 使用道具 举报
你找的出1000以内的水仙花数吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马