在 Python 中檢查數字奇數位和偶數位數字的乘積是否相等


假設我們有一個數字 n。我們必須檢查奇數位數字的乘積和偶數位數字的乘積是否相同。

因此,如果輸入類似於 n = 2364,則輸出將為 True,因為奇數位數字的乘積為 2 * 6 = 12,偶數位數字的乘積為 3 * 4 = 12,它們是相同的。

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

  • 如果 num < 10,則
    • 返回 False
  • odd_place := 1,even_place := 1
  • 當 num > 0 時,執行
    • d := num 的最後一位數字
    • odd_place := odd_place * d
    • num := (num/10) 的商
    • 如果 num 等於 0,則
      • 中斷
    • d := num 的最後一位數字
    • even_place := even_place * d
    • num := (num/10) 的商
  • 如果 odd_place 等於 even_place,則
    • 返回 True
  • 返回 False

示例

讓我們看看以下實現以獲得更好的理解:

 線上演示

def solve(num):
   if num < 10:
      return False
   odd_place = 1
   even_place = 1
   while num > 0:
      d = num % 10
      odd_place *= d
      num = num//10
      if num == 0:
         break
      d = num % 10
      even_place *= d
      num = num//10
   if odd_place == even_place:
      return True
   return False
num = 2364
print(solve(num))

輸入

2364

輸出

True

更新於: 2021年1月19日

254 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告