java 寻找水仙花数

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

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

 

 

package Studytest;

public class Prog3 {
    public static void main(String [] args)
    {
        for(int i=100;i<1000;i++)
        {
            if(isLotus(i))
            {
                System.out.print(i+" ");
            }
        }
    }
    //判断水鲜花数
    private static boolean isLotus(int lotus)
    {
        int bai=0;
        int shi=0;
        int ge=0;
        int sum=0;
        int n=0;
        n=lotus;
        bai=n/100;
        sum=bai*bai*bai;
        n=n-(bai*100);
        shi=n/10;
        sum+=(shi*shi*shi);
        ge=n-(shi*10);
        sum+=(ge*ge*ge);
         if(lotus==sum)
         {
             return true;
         }else {
             return false;
         }
    }
}

运行结果:

 

 

 

 

原文地址:https://www.cnblogs.com/braveym/p/10822167.html