मान लीजिए हमारे पास n नामक एक संख्या है। हमें इस संख्या का सुपर डिजिट ढूंढना है। एक अंक की संख्या का सुपर डिजिट वह अंक स्वयं होता है लेकिन बहु-अंकीय संख्याओं के लिए सुपर डिजिट सभी अंकों का योग बार-बार तब तक होता है जब तक योग एक अंक की संख्या न बन जाए।
तो, यदि इनपुट n = 513682 है, तो आउटपुट 7 होगा क्योंकि (5+1+3+6+8+2) = 25, (2 + 5) = 7।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- s := 0
- जब n > 0 या s > 9, करें
- यदि n 0 के समान है, तो
- n := s
- s := 0
- s := s + n mod 10
- n := n/10 का फ्लोर वैल्यू
- यदि n 0 के समान है, तो
- s लौटाएं
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें:
def solve(n):
s = 0
while(n > 0 or s > 9):
if n == 0:
n = s
s = 0
s += n % 10
n //= 10
return s
n = 513682
print(solve(n))
इनपुट
513682
आउटपुट
7