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