在 Python 中檢查數字奇數位數字之和是否能被 K 整除


假設我們有一個數字 n 和另一個數字 k,我們需要檢查 n 的奇數位(從右到左)上的數字之和是否能被 k 整除。

因此,如果輸入類似於 n = 2416 k = 5,則輸出將為 True,因為從右到左奇數位的數字之和為 4 + 6 = 10。它可以被 5 整除。

為了解決這個問題,我們將遵循以下步驟:

  • total := 0, pos := 1
  • 當 n > 0 時,執行以下操作
    • 如果 pos 為奇數,則
      • total := total + (n 模 10)
    • n := (n / 10) 的商
    • pos := pos + 1
  • 如果 total 可以被 k 整除,則
    • 返回 True
  • 返回 False

讓我們看看下面的實現以更好地理解:

示例程式碼

線上演示

def solve(n, k):
   total = 0
   pos = 1
   while n > 0:
      if pos % 2 == 1:
         total += n % 10
      n = n // 10
      pos += 1
     
   if total % k == 0:
      return True
   return False

n = 2416
k = 5
print(solve(n, k))

輸入

2416, 5

輸出

True

更新於: 2021年1月16日

70 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告