java 寻找水仙花数

风格不统一 提交于 2020-01-25 19:43:00

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: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;
         }
    }
}

 

 

运行结果:

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!