সমস্যা বিবরণ
দুটি রেশিও x:y এবং y:z দেওয়া থাকলে, তিনটি সংখ্যার কমন রেশিও x:y:z বের করতে হবে।
উদাহরণ
x:y = 3:5, y:z = 8:9 → আউটপুট = 24:40:45
এক্সপ্লানেশন: y কমন করতে ক্রস মাল্টিপ্লিকেশন: 3×8 : 5×8 : 5×9 = 24:40:45
সমাধান পদ্ধতি
- দুটি রেশিওয়ের মিডেল y-কমন করতে LCM বের করা হয়।
- x' = x × (LCM/y1), y' = LCM, z' = z × (LCM/y2)।
- এই পদ্ধতিতে রেশিও সরল করা যায়।
C++ বাস্তবায়ন
#include <iostream>
using namespace std;
int calcLcm(int a, int b) {
int lcm = max(a, b);
while (lcm <= a * b) {
if (lcm % a == 0 && lcm % b == 0) return lcm;
lcm++;
}
return 0;
}
void calcThreeProportion(int x, int y1, int y2, int z) {
int lcm = calcLcm(y1, y2);
cout << ((x * lcm) / y1) << " : " << lcm << " : " << ((z * lcm) / y2);
}
int main() {
int x = 12, y1 = 15, y2 = 9, z = 16;
cout << "The ratios are\t x:y = " << x << ":" << y1 << "\ty:z = " << y2 << ":" << z << endl;
cout << "The common ratio of three numbers is\t";
calcThreeProportion(x, y1, y2, z);
return 0;
}
ইনপুট ও আউটপুট
ইনপুট: 3:5 8:9
আউটপুট: 24: 40: 45
প্রোগ্রাম আউটপুট: The ratios are x:y = 12:15 y:z = 9:16 The common ratio of three numbers is 36 : 45 : 80