मान लीजिए हमारे पास एक संख्या n है, हमें जांचना है कि n के प्रत्येक अंक की घटना अंक से कम या बराबर है या नहीं।
इसलिए, यदि इनपुट n = 5162569 है, तो आउटपुट True होगा क्योंकि अंक और आवृत्तियां (5, 2), (1, 1), (6, 2) और (9, 1) हैं, सभी के लिए आवृत्ति या तो अंक मान से छोटी या बराबर है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे:
- i के लिए 0 से 9 तक की रेंज में, करें
- temp := n, cnt := 0
- जब temp शून्येतर हो, तब तक करें
- यदि temp mod 10, i के समान है, तो
- cnt := cnt + 1
- यदि cnt > i, तो
- False लौटाएं
- temp := (temp / 10) का भागफल
- यदि temp mod 10, i के समान है, तो
- True लौटाएं
उदाहरण
बेहतर समझ के लिए निम्न कार्यान्वयन देखें:
def solve(n):
for i in range(10):
temp = n
cnt = 0
while temp:
if temp % 10 == i:
cnt += 1
if cnt > i:
return False
temp //= 10
return True
s = 5162569
print(solve(s))
इनपुट
5162569
आउटपुट
True