मान लीजिए कि पूर्ण पानी की बोतलों की संख्या n है, हम केवल एक पूर्ण पानी की बोतल के लिए खाली पानी की बोतलों का आदान-प्रदान कर सकते हैं। अब पानी की पूरी बोतल पीने से वह खाली बोतल बन जाती है। हमें अधिकतम संख्या में पानी की बोतलों का पता लगाना होगा जो हम पी सकते हैं।
इसलिए, यदि इनपुट n =9, m =3 जैसा है, तो आउटपुट 13 होगा क्योंकि शुरू में हमारे पास 9 बोतलें हैं, इसलिए सभी बोतलें पीने के बाद, हमें 9/3 =3 पूर्ण बोतलें मिल सकती हैं, उन सभी को पीने के बाद हम तीन खाली बोतलें हैं और उनका उपयोग करके हम एक खरीद सकते हैं और इसे पी सकते हैं, इसलिए हमने 9 + 3 + 1 =13 बोतलें पूरी कीं।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
x:=n, s:=0, k:=0
-
जबकि x>=मी, करें
-
के:=एक्स मॉड एम
-
x:=x / m का भागफल
-
एस:=एस + एक्स
-
x:=x + k
-
-
वापसी n + s
उदाहरण (पायथन)
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
def solve(n, m): x=n s=0 k=0 while x >= m: k=x % m x=x // m s=s + x x=x + k return n + s n = 9 m = 3 print(solve(n, m))
इनपुट
9, 3
आउटपुट
13