倍數判斷
L1|基礎MATH01-001看題目內容
- 輸入
- 輸入兩個正整數 A 與 B。
- 輸出
- 若 A 是 B 的倍數,輸出 YES;否則輸出 NO。
輸入
24 6
YES
用餘數判斷因數、倍數,找出質數和最大公因數
數學課學過的因數、倍數,在程式裡都靠同一個工具:餘數。
| 說法 | 用程式判斷 |
|---|---|
| A 是 B 的倍數 | A 除以 B 的餘數 = 0 |
| i 是 N 的因數 | N 除以 i 的餘數 = 0 |
| N 是偶數 | N 除以 2 的餘數 = 0 |
要找 N 的所有因數,就讓 i 從 1 數到 N,一個一個試:
i 從 1 數到 N:
如果 N 除以 i 的餘數 = 0:
i 是 N 的因數
質數是大於 1、而且只有 1 和自己兩個因數的數,例如 2、3、5、7、17。1 只有一個因數,所以 1 不是質數。
先讀題,再一步一步點開來看。建議每看完一步,就先自己在平台上試著寫寫看。
12
6
這是「找所有因數」加上 K08 的「條件計數」:
詢問並等待 → N
次數 設為 0
i 從 1 數到 N:
如果 N 除以 i 的餘數 = 0:
次數 設為 次數 + 1
說出 次數N = 12:
| i | 12 除以 i 的餘數 | 是因數? | 次數 |
|---|---|---|---|
| 1 | 0 | 是 | 1 |
| 2 | 0 | 是 | 2 |
| 3 | 0 | 是 | 3 |
| 4 | 0 | 是 | 4 |
| 5 | 2 | 否 | 4 |
| 6 | 0 | 是 | 5 |
| 7~11 | 不是 0 | 否 | 5 |
| 12 | 0 | 是 | 6 |
輸出 6。
按「載入範例」,注意餘數積木的順序是「N 除以 i 的餘數」,不是「i 除以 N」。
照順序完成這些題目。寫完之後,可以在平台上按「載入範例」和自己的寫法比較。
24 6
YES
12
1 2 3 4 6 12
39
1 3 13 39
17
PRIME
核心題都會了嗎?這些題目需要把好幾個技巧組合起來,想挑戰的話可以試試看。
12 18
6
12 18
36
學完之後,檢查看看你能不能做到這些事。有做不到的,就回到上面對應的地方再看一次。