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

C++-এ ভগ্নাংশকে ন্যূনতম রূপে রূপান্তর করুন


দুটি পূর্ণসংখ্যা Num1 ও Num2 দেওয়া থাকলে, ভগ্নাংশ Num1/Num2-কে ন্যূনতম রূপে আনা হবে।

GCD ব্যবহার করে ন্যূনতম হর বের করা

  • দুটি সংখ্যার महत्तম সাধারণ ভাজক (GCD) বের করুন।

  • দুটি সংখ্যাকে GCD দিয়ে ভাগ করুন।

  • ফলাফল ন্যূনতম ভগ্নাংশ হবে।

উদাহরণ

ইনপুট − Num1 = 22, Num2 = 10

আউটপুট − Num1 = 11, Num2 = 5, Lowest Fraction: 11/5

ব্যাখ্যা − GCD(22,10) = 2। 22/2=11, 10/2=5।

ইনপুট − Num1 = 36, Num2 = 40

আউটপুট − Num1 = 9, Num2 = 10, Lowest Fraction: 9/10

ব্যাখ্যা − GCD(36,40) = 4। 36/4=9, 40/4=10।

প্রোগ্রামে ব্যবহৃত পদ্ধতি

রিকারসিভভাবে GCD বের করে, তারপর উভয় সংখ্যাকে ভাগ করে ন্যূনতম ভগ্নাংশ বের করা হয়।

  • ইনপুট Num1, Num2 নিন।

  • findGCD(int a, int b) ফাংশন রিকারসিভভাবে GCD ফেরত দেয়।

  • যদি b == 0 হয়, a ফেরত দিন, অন্যথায় findGCD(b, a%b) কল করুন।

  • lowestFraction(int num1, int num2) ফাংশনে GCD বের করে উভয়কে ভাগ করুন।

  • ফলাফল প্রিন্ট করুন।

উদাহরণ কোড

#include <bits/stdc++.h>
using namespace std;

int findGCD(int a, int b) {
    if (b == 0)
        return a;
    return findGCD(b, a % b);
}

void lowestFraction(int num1, int num2){
    int denom = findGCD(num1, num2);
    num1 /= denom;
    num2 /= denom;
    cout << "Num1 = " << num1 << endl;
    cout << "Num2 = " << num2 << endl;
    cout << "Lowest Fraction : " << num1 << "/" << num2;
}

int main(){
    int Num1 = 14;
    int Num2 = 8;
    lowestFraction(Num1, Num2);
    return 0;
}

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট পাওয়া যাবে:

Num1 = 7 Num2 = 4 Lowest Fraction : 7/4
  1. C++-এ মেজ সমস্যা: বল দিয়ে পথ খুঁজে বের করা

  2. লিনাক্সে C++-এর জন্য সেরা IDE কী?

  3. লিনাক্সে C++-এর জন্য সেরা IDE কী? (আলাদা লেখা)

  4. উইন্ডোজে C++-এর জন্য সেরা IDE কী? (আলাদা লেখা)