题目:打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
package com.li.FiftyAlgorthm;/** * 题目:打印出所有的"水仙花数(narcissus number)",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 * * 例如:153是一个"水仙花数",因为 153 = 1的三次方+5的三次方+3的三次方。 * * 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 * * @author yejin */public class NarcissusNum { static int b, bb, bbb; public static void main(String[] args) { for (int num = 101; num < 1000; num++) { NarcissusNum tnn = new NarcissusNum(); tnn.f(num); } } public void f(int m) { bbb = m / 100; bb = (m % 100) / 10; b = (m % 100) % 10; if ((bbb * bbb * bbb + bb * bb * bb + b * b * b) == m) { System.out.println(m); } }}