Python程式:求數字各位數之和直到結果為一位數
假設我們有一個正數n,我們將把它的所有位數加起來得到一個新的數字。現在重複此操作,直到它小於10。
因此,如果輸入為9625,則輸出將為4。
為了解決這個問題,我們將遵循以下步驟:
- 定義一個方法solve(),它將接收n作為引數
- 如果n < 10,則
- 返回n
- s := 0
- l := ⌊log₁₀(n) + 1⌋ (底數為10的對數)
- 當l > 0時,執行以下操作:
- s := s + (n mod 10)
- n := n / 10 的商
- l := l - 1
- 返回solve(s)
讓我們看看下面的實現,以便更好地理解:
示例
import math class Solution: def solve(self, n): if n < 10: return n s = 0 l = math.floor(math.log(n, 10) + 1) while l > 0: s += n % 10 n //= 10 l -= 1 return self.solve(s) ob = Solution() print(ob.solve(9625))
輸入
9625
輸出
4
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP