मान लीजिए कि हमारे पास एक सकारात्मक संख्या n है, हम एक नई संख्या प्राप्त करने के लिए इसके सभी अंकों को जोड़ देंगे। अब इस ऑपरेशन को 10 से कम होने तक दोहराएं।
तो, अगर इनपुट 9625 की तरह है, तो आउटपुट 4 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- एक विधि हल परिभाषित करें (), इसमें n लगेगा
- यदि n <10, तो
- वापसी n
- s :=0
- l :=(log(n) आधार 10 + 1) का तल
- जबकि l> 0, करें
- s :=s + (n mod 10)
- n :=n / 10 का भागफल
- l :=l - 1
- वापसी समाधान
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
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