打印出所有的水仙花數,所謂水仙花數是指一個三位數,其各位數字立方和等於該數本身。

題目:
打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個"水仙花數",因爲153=1的三次方+5的三次方+3的三次方。
程序分析設計:
我們可以先建立一個for循環 因爲水仙花數是三位數 所以我們的循環範圍是[100,999] ,在循環中 將每個數進行分割 分割成個位 十位 百位 然後計算出【個位的三次方 + 十位的三次方 + 百位的三次方】 將計算結果和該數本身對比 如果相等 那麼這個數就是水仙花數
代碼:
import org.junit.Test;
public class NarcissusNumber {
	public void isNarcissusNumber() {
		//循環[100 , 999]
		for(int i = 100 ; i <= 999 ; i ++) {
			//分割出個位
			int a = i % 10;
			//分割出十位
			int b = i / 10 % 10;
			//分割出百位
			int c = i / 100;
			//判斷該數是否等於【個位的三次方 + 十位的三次方 + 百位的三次方】
			if(i == (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3))) {
				System.out.println(i + "是水仙花數");
			}
		}
	}
	@Test
	public void test() {
		isNarcissusNumber();
	}
	/**
	 * 結果:
	 * --->153是水仙花數
	 * --->370是水仙花數
	 * --->371是水仙花數
	 * --->407是水仙花數
	 */
}


發佈了72 篇原創文章 · 獲贊 50 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章