আমাদের কাছে 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