1. 程式人生 > >java常見邏輯練習題打印出所有的"水仙花數"

java常見邏輯練習題打印出所有的"水仙花數"

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

分析,首先想要找出水仙花數先要遍歷出所有的三位數,即:

第一步

for (int i = 100; i <= 999; i++) {
}

接下來,想要判斷這個數是否是水仙花數就要先拿到這個數的個位、十位和百位的數字分別是多少,即:

第二步

			int ge = i%10;
			int shi = i/10%10;
			int bai = i/100%10;

拿到個位、十位和百位的數字之後我們只需要判斷這個數是否是誰先花數就可以了,如果是,我們就列印他,如果不是,就不列印,即:

第三步

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

這樣水仙花數就求出來了,最終的程式碼為:

最終程式碼

public class Demo {
	public static void main(String[] args) {
		//遍歷所有三位數
		for (int i = 100; i <= 999; i++) {
			//求出個位十位百位分別是多少
			int ge = i%10;
			int shi = i/10%10;
			int bai = i/100%10;
			if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
				System.out.println(i);
			}
		}
	}
}

控制檯的列印結果為

153
370
371
407