मान लीजिए हमारे पास दो संख्याएं a और b हैं। अमल के हाथ में a और बिमल के हाथ में b संख्या में कैंडी हैं। अमल ने बिमल को 1 कैंडी दी और बिमल ने अमल को दो कैंडी दीं, अगले चरण में अमल ने 3 कैंडी दीं और बिमल ने 4 दीं और इसी तरह। यह तब तक जारी रहा जब तक उनमें से कोई सही मात्रा में कैंडी नहीं दे सका। वे विरोधी से मिली कैंडी को अपनी नहीं मानते। हमें ढूंढना है कि कौन पहले सही मात्रा में कैंडी नहीं दे सकता।
उदाहरण के लिए, यदि इनपुट a = 7; b = 6 है, तो आउटपुट Amal होगा, क्योंकि शुरू में अमल ने 1 दी, बिमल ने 2 दी, फिर अमल ने 3 दी और बिमल ने 4 दी, अब इस चरण में अमल को 5 कैंडी देनी हैं लेकिन उसके पास केवल 4 हैं।
चरण
इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:
x := square root of a if x * (x + 1) > b, then: return "Bimal" Otherwise return "Amal"
उदाहरण
बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:
#includeusing namespace std; string solve(int a, int b){ int x = sqrt(a); if (x * (x + 1) > b) return "Bimal"; else return "Amal"; } int main(){ int a = 7; int b = 6; cout << solve(a, b) << endl; }
इनपुट
7, 6
आउटपुट
Amal