檢查 Python 中數字偶數位數字的乘積是否能被奇數位數字的和整除
假設我們有一個數字 n,我們需要檢查 n 的偶數位數字的乘積是否能被 n 的奇數位數字的和整除。位數從右到左計數,最右邊的位數為第 1 位。
例如,如果輸入 n = 59361,則輸出為 True,因為 (1*3*5) = (6+9)。
為了解決這個問題,我們將遵循以下步驟:
- digit_count := 給定數字 n 的位數
- total := 0, prod := 1
- 當 n > 0 時,執行以下操作:
- 如果 digit_count 為偶數,則
- prod := prod * n 的最後一位數字
- 否則,
- total := total + n 的最後一位數字
- n := (n / 10) 的商
- digit_count := digit_count - 1
- 如果 digit_count 為偶數,則
- 如果 prod 能被 total 整除,則
- 返回 True
- 返回 False
讓我們來看下面的實現程式碼,以便更好地理解:
示例程式碼
from math import log10 def solve(n): digit_count = int(log10(n))+1 total = 0 prod = 1 while n > 0 : if digit_count % 2 == 0 : prod *= n % 10 else: total += n % 10 n = n // 10 digit_count -= 1 if prod % total == 0: return True return False n = 59361 print(solve(n))
輸入
59361
輸出
True
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP