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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小胡 中级黑马   /  2016-1-1 15:32  /  1021 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

5 个回复

正序浏览
class FlowerNumber
{
    public static void main(String[] args)
    {
        //定义一个整数,由于是三位数,所以从最小是100
        int num = 100;
        int count = 0;
        //接下来要循环判断是否是水仙花数,三位数最大是999,所以用while(num<=999)来控制循环
        System.out.print("三位数的水仙花数有:");
        while(num<=999)
        {
            //获取个位数字
            int ge = num % 10;
            //获取十位数字
            int shi = num / 10 % 10;
            //获取百位数字
            int bai = num / 10 / 10 % 10;
            //定义水仙花数规则,进行判断
            if(num == ge * ge * ge + shi * shi * shi + bai * bai * bai)
            {
                System.out.print(num+" ");
                count++;
            }
            //为了保证循环继续,所以让num自增
            num++;
        }
        System.out.println();
        System.out.println("三位数的水仙花数的个数有:"+count+"个");
    }
}

输出结果是:
三位数的水仙花数有:153 370 371 407
三位数的水仙花数个的个数有:4个

回复 使用道具 举报 2 0
小五哥 来自手机 中级黑马 2016-1-5 13:01:17
报纸
好好看视频
回复 使用道具 举报
AOHhao 来自手机 初级黑马 2016-1-5 12:37:08
板凳
用循环加判断来实现?
回复 使用道具 举报
嗯嗯 好的
回复 使用道具 举报
挺简单的,先掌握思想或者逻辑在写代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马