打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
1 public class daffodil { 2 3 public static void main(String args[]){ 4 sows(100,999); 5 } 6 7 private static void sows(int num1, int num2) { 8 9 int one,ten,hundred; 10 11 /** 12 * 从num1到num2 进行循环,找出具有水仙花特征的数量 13 */ 14 for(int i=num1;i<=num2;++i){ 15 hundred=i/100; 16 ten=(i-hundred*100)/10; 17 one=i-hundred*100-ten*10; 18 19 if(i==(Math.pow(hundred,3)+Math.pow(ten,3)+Math.pow(one,3))) 20 System.out.println("水仙花的数据:"+i+ " 百位数是"+hundred+" 十位数是"+ten+" 个位数"+one); 21 22 } 23 } 24 }
run:
水仙花的数据:153 百位数是1 十位数是5 个位数3
水仙花的数据:370 百位数是3 十位数是7 个位数0
水仙花的数据:371 百位数是3 十位数是7 个位数1
水仙花的数据:407 百位数是4 十位数是0 个位数7
成功构建 (总时间: 0 秒)
时间: 2024-10-29 00:03:59