আমাদের কাছে a এবং b দুটি সংখ্যার যোগফল এবং gcd আছে। আমাদের ক এবং খ উভয় সংখ্যাই খুঁজে বের করতে হবে। যদি তা সম্ভব না হয়, -1 ফিরে আসুন। ধরুন যোগফল হল 6 এবং gcd হল 2, তাহলে সংখ্যাগুলি হল 4 এবং 2৷
পদ্ধতিটি এমন, যেমন GCD দেওয়া আছে, তাহলে জানা যায় যে সংখ্যাগুলি এর গুণিতক হবে। এখন নিচের ধাপগুলো আছে
-
যদি আমরা প্রথম সংখ্যাটিকে GCD হিসাবে বেছে নিই, তাহলে দ্বিতীয়টি হবে যোগফল - GCD
-
যদি পূর্ববর্তী ধাপে নির্বাচিত সংখ্যার যোগফল যোগফলের সমান হয়, তাহলে উভয় সংখ্যাই প্রিন্ট করুন।
-
অন্যথায় প্রিন্ট -1, একটি সংখ্যা হিসাবে বিদ্যমান নেই।
উদাহরণ
#include <iostream> #include <algorithm> using namespace std; void printTwoNumbers(int s, int g) { if (__gcd(g, s - g) == g && s != g) cout << "first number = " << min(g, s - g) << "\nsecond number = " << s - min(g, s - g) << endl; else cout << -1 << endl; } int main() { int sum = 6; int gcd = 2; printTwoNumbers(sum, gcd); }
আউটপুট
first number = 2 second number = 4