JAVA 基础编程练习题3 【程序 3 水仙花数】

时间:2022-05-07 12:22:00

 

3 【程序 3 水仙花数】

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例 如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。

程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。

 

package cskaoyan;

import org.junit.Test;

public class cskaoyan3 {
	@Test
	public void shuiXianHua() {
		int min = 100;
		int max = 999;
		int ge = 0;
		int shi = 0;
		int bai = 0;

		for (int i = min; i <= max; i++) {
			ge = getGe(i);
			shi = getShi(i);
			bai = getBai(i);

			if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
				System.out.println(i);
			}
		}
	}

	public int getGe(int number) {
		return number % 10;
	}

	public int getShi(int number) {
		return number / 10 % 10;
	}

	public int getBai(int number) {
		return number / 100;
	}
}