N সংখ্যক ভগ্নাংশের লব (numerator) এবং হর (denominator) দেওয়া আছে। সব ভগ্নাংশের গুণফল বের করে সরল রূপে (কমন ডিভাইডার দিয়ে ভাগ করে) আউটপুট দিতে হবে।
উদাহরণ
ইনপুট: fraction f[3] = {{1,2}, {2,1}, {5,6}}
আউটপুট: 5/6
ব্যাখ্যা: 1/2 × 2/1 × 5/6 = 10/12 = 5/6 (GCD=2 দিয়ে ভাগ)।
ইনপুট: fraction f[2] = {{2,3}, {1,4}}
আউটপুট: 1/6
পদ্ধতি
- সর্ব লব এবং সর্ব হর আলাদা আলাদা গুণ করে prod_num এবং prod_den-এ রাখা হয়।
- GCD (গরিষ্ট সাধারণ ভাজক) বের করা হয় prod_num এবং prod_den-র।
- দুটোকে GCD দিয়ে ভাগ করে সরল রূপ পাওয়া যায়।
C প্রোগ্রাম উদাহরণ
#include <stdio.h>
struct fraction { int num, den; };
int GCD(int a, int b) {
if (a == 0) return b;
return GCD(b % a, a);
}
int product(int n, struct fraction f[]) {
int prod_num = 1, prod_den = 1;
for (int i = 0; i < n; i++) {
prod_num *= f[i].num;
prod_den *= f[i].den;
}
int gcd = GCD(prod_num, prod_den);
prod_num /= gcd;
prod_den /= gcd;
printf("%d/%d\n", prod_num, prod_den);
return 0;
}
int main() {
struct fraction f[3] = {{1,2}, {2,1}, {5,6}};
int n = sizeof(f) / sizeof(f[0]);
product(n, f);
return 0;
}
আউটপুট
5/6