मान लीजिए कि हमारे पास एक संख्या n है। यहाँ n पूर्ण बियर की बोतलों को इंगित करता है। अगर हम बीयर की 3 खाली बोतलों को 1 पूरी बीयर की बोतल के बदले बदल सकते हैं, तो हमें बीयर की कितनी बोतलें पी सकते हैं, इसका पता लगाना होगा।
तो, अगर इनपुट 10 जैसा है, तो आउटपुट 14 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
एक फ़ंक्शन हल करें () को परिभाषित करें, इसमें n लगेगा,
-
रिट:=0
-
जबकि n>=3, करें −
-
क्यू:=एन / 3
-
रिट:=रिट + क्यू * 3
-
n :=n - q * 3
-
n :=n + q
-
-
रिट:=रिट + एन
-
वापसी रिट
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
उदाहरण
#include <bits/stdc++.h> using namespace std; class Solution { public: int solve(int n) { int ret = 0; while(n >= 3){ int q = n / 3; ret += q * 3; n -= q * 3; n += q; } ret += n; return ret; } }; main() { Solution ob; cout << ob.solve(10); }
इनपुट
10
आउटपुट
14