मान लीजिए कि हमारे पास दो संख्याएँ a और b हैं। अमल और बिमल के हाथ में ए और बी संख्या में कैंडी हैं। अमल ने बिमल को 1 कैंडी दी और बिमल ने अमल को दो कैंडी दी, अगली बारी में अमल ने 3 कैंडी दी और बिमल ने 4 और इसी तरह। यह तब तक जारी रहा जब उनमें से एक कैंडी की सही मात्रा नहीं दे सका। वे प्रतिद्वंद्वी से मिली कैंडी को अपना नहीं मानते। हमें यह पता लगाना होगा कि सबसे पहले कौन सही मात्रा में कैंडी नहीं दे सकता।
इसलिए, यदि इनपुट a =7 जैसा है; b =6, तो आउटपुट अमल होगा, क्योंकि शुरू में अमल ने 1 दिया, बिमल ने 2 दिया, फिर अमल ने 3 दिया और बिमल ने 4 दिया, अब इस बारी में अमल को 5 कैंडी देनी है लेकिन उसके पास केवल 4 है।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
x := square root of a if x * (x + 1) > b, then: return "Bimal" Otherwise return "Amal"
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using 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