ধরুন আমাদের দুটি সংখ্যা 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