Java基础50道经典练习题——水仙花数

Posted lcpp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础50道经典练习题——水仙花数相关的知识,希望对你有一定的参考价值。

【程序 3 水仙花数】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例
如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。
 
源码:
package com.homework.test;
/*
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例
如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。
 */

public class NarcissisticNumber {
    public static void main(String[] args){
        for (int i = 100; i <= 999; i++) {
            if (fun(i)) {
                System.out.println(i);
            }
        }
    }

    /*
    判断是否为水仙花数
     */
    public static boolean fun(int num){
        int unit = num % 10;
        int decade = (num / 10) % 10;
        int hundred = num / 100;
//        System.out.print(hundred +" ");
//        System.out.print(decade+" ");
//        System.out.print(unit+"
");
        if (unit*unit*unit + decade*decade*decade + hundred*hundred*hundred == num)
            return true;
        else
            return false;

    }


}

  

以上是关于Java基础50道经典练习题——水仙花数的主要内容,如果未能解决你的问题,请参考以下文章

Java编程练习题,基础不牢地动山摇!看看着50道你会几道!

Java基础50道经典练习题(25)——求回文数

Java基础50道经典练习题(25)——求回文数

Java基础50道经典练习题(15)——排序

Java基础50道经典练习题(15)——排序

Java基础50道经典练习题(19)——打印菱形