題目連結:
題目意譯:
你被給定一個正整數 n 和 m。
定義以下兩個整數:
num1:範圍 [1, n](含端點)中所有不被 m 整除的整數之總和。
num1:範圍 [1, n](含端點)中所有被 m 整除的整數之總和。
回傳 num1 - num2。
限制:
1 ≦ n, m ≦ 1000
範例測資:
範例 1:
輸入: n = 10, m = 3
輸出: 19
解釋: 在此例中:
- 位於範圍 [1, 10] 中不被 3 整除的整數為 [1,2,4,5,7,8,10],num1 為這些整數的總和 = 37。
- 位於範圍 [1, 10] 中不被 3 整除的整數為 [3,6,9],num1 為這些整數的總和 = 18。
我們回傳 37 - 18 = 19 作為答案。
範例 2:
輸入: n = 5, m = 6
輸出: 15
解釋: 在此例中:
- 位於範圍 [1, 5] 中不被 6 整除的整數為 [1,2,3,4,5],num1 為這些整數的總和 = 15。
- 位於範圍 [1, 5] 中不被 6 整除的整數為 [],num1 為這些整數的總和 = 0。
我們回傳 15 - 0 = 15 作為答案。
範例 3:
輸入: n = 5, m = 1
輸出: -15
解釋: 在此例中:
- 位於範圍 [1, 5] 中不被 3 整除的整數為 [],num1 為這些整數的總和 = 0。
- 位於範圍 [1, 5] 中不被 3 整除的整數為 [1,2,3,4,5],num1 為這些整數的總和 = 15。
我們回傳 0 - 15 = -15 作為答案。
解題思維:
由於 n 最大也才 1000,因此直接掃過 1 ~ n 每一個整數然後檢查可不可以被 m 整除即可。檢查完便可以知道 num1 、 num2 之值,兩者相減即是所求。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。