求水仙花数

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

 

package com.likunjie;

public class DaffodilNumber {

    public static void main(String[] args) {
        int begin = 100;
        int end = 999;
        System.out.println("" + begin + " 与 " + end + "之间的水仙花数是:");
        for(int i=begin;i<end;i++){
            int hundred = i/100;
            int decade = (i%100)/10;
            int unit = i%10;
            
            int total = hundred*hundred*hundred + decade*decade*decade + unit*unit*unit;
            //求三次方,可以用Math.pow(x,y);意思是求x的y幂次方。参数和返回值都是double。
            if( total == i){
                System.out.println(i);
            }
        }
    }
}

 

 

posted @ 2013-10-23 23:22  精进中的昆杰  阅读(484)  评论(0编辑  收藏  举报