কম্পিউটার টিউটোরিয়াল

C-তে N সংখ্যক ভগ্নাংশের গুণফল সরল রূপে নির্ণয়

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
  1. C-তে প্রথম অ্যারের সর্বোচ্চ ও দ্বিতীয় অ্যারের সর্বনিম্নের গুণফল

  2. C প্রোগ্রাম: অ্যারে-এর উপাদানগুলোর গুণফল (Product) বের করা

  3. C++-এ লিংকড লিস্টে দেওয়া গুণফলের জোড়া আছে কিনা চেক করা

  4. C++-এ ম্যাট্রিক্সে দেওয়া গুণফলের জোড়া আছে কিনা চেক করা