案例:水仙花
需求:在控制檯輸出所有的“水仙花數”
分析:
- 三位數的個位數字如何求
371 1就是原始數字對10進行取餘運算的結果
371 % 10 = 1 - 三位數的百位數字如何求
371 / 100 = 3
371 3就是原始數字除以100的結果(整除) - 三位數的十位數字如何求
371 / 10 = 37
371 371透過除以10.可以將7移動到個位上(整數)
37 % 10= 7
37透過對10進行取餘運算可以得到最後一位的值7
371 / 10 % 10 =7
- 思考:任毫數字的指定位上的數值如問求
先使用整除操作將要求的數字移動到個位上,再使用取餘操作取出最後一位上的值
123456789
先整繪10000得到12345,再對10取餘得到5
需求:在控制檯輸出所有的“水仙花數”
分析:
- 輸出所有的水仙花數必然要使用到迴圈,遍歷所有的三位數,三位數從100開始,到999結束
for (int i = 100; i cw 999; i++) ( _ ) - 不是每個三位數都是水仙花數,因此需要判定,滿足條件的數字才進行輸出
4£(執行的限制條件)(▁) - 判定條件是將三位數中的每個數值取出來,計算立方和後與原始數字比較是否相等
42(?+?+?==原數)(輸出原數) - 在計算之前獲取三位數中每個位上的值
int a =原數的個位;
int b=原數的十位;
int c=原數的百位;
1f(aaa+bbb+ccc==鼠數)(
輸出原數
1示例
public static void main(String[] args) { int count = 0; for (int i = 100; i < 1000; i++) { int a = i % 10; int b = i / 10 % 10; int c = i / 100 % 10; if ((a * a * a + b * b * b + c * c * c) == i) { System.out.println(i); count++; } } System.out.println("水仙花個數"+count); }
本作品採用《CC 協議》,轉載必須註明作者和本文連結