Java经典案例之“水仙花数”

/**

 * 描述:打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:

 * 153=1^3+5^3+3^3等...

 * 分析:利用for循环控制100-999个数,分别解出个位、十位、百位,然后分别将个位、十位、百位的立方和相加

 * 看看是否等于该数本身。

 * 作者:徐守威

 */

package com.xushouwei;

public class T3 {

 

   /**

    * @param args

    */

   public static void main(String[] args) {

      // TODO Auto-generated method stub

      System.out.print("100-999内水仙花数有:");

      //遍历100-999之间的数

      for(int i=100;i<1000;i++)

      {

         //调用Math类的pow方法求出个位的立方值

         int geWei=(int)Math.pow((i%10), 3);

         //调用Math类的pow方法求出十位的立方值

         int shiWei=(int)Math.pow((i%100/10), 3);

         //调用Math类的pow方法求出百位的立方值

         int baiWei=(int)Math.pow((i/100), 3);

         //定义一个数用于表示三个数的立方和

         int sum=geWei+shiWei+baiWei;

         //判断sum时候等于三个数的立方和

         if(sum==(double)i)

         {

            System.out.print(i+" ");

         }

      }

 

   }

 

}

原文地址:https://www.cnblogs.com/Jasxu/p/shuixianhua.html