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

সি++-এ দিয়ে পরিমাপের সমান কোণযুক্ত ত্রিভুজের সংখ্যা গণনা

একটি ত্রিভুজের পরিমাপ (perimeter) P দেওয়া আছে। পরিমাপ হল ত্রিভুজের সব বাহুর যোগফল। লক্ষ্য হল সমান পরিমাপ বিশিষ্ট কতগুলো কোণযুক্ত ত্রিভুজ (right triangles) বানানো সম্ভব তা বের করা।

বাহু a, b, c হলে a+b+c=P এবং a²+b²=c² (পিথাগোরাস থিওরেম যেকোনো কম্বিনেশনের জন্য)।

a=1 থেকে p/2 এবং b=a+1 থেকে p/3 পর্যন্ত চেক করা হয়। c = p-a-b। সব কোণযুক্ত ত্রিভুজের জন্য পিথাগোরাস থিওরেম প্রয়োগ করা হয়। a, b, c ত্রিভুজ বানানোর শর্তও পূরণ করতে হবে (যেকোনো দুটি বাহুর যোগফল তৃতীয়টির চেয়ে বড়)।

উদাহরণ

ইনপুট: Perimeter P=12

আউটপুট: মোট কোণযুক্ত ত্রিভুজ: ১

ব্যাখ্যা: একমাত্র a=4, b=3, c=5 শর্ত পূরণ করে: 4+3+5=12, 3²+4²=5² (9+16=25), 3+4>5, 4+5>3, 3+5>4।

ইনপুট: Perimeter P=10

আউটপুট: মোট কোণযুক্ত ত্রিভুজ: ০

ব্যাখ্যা: a+b+c=P এবং a²+b²=c² সন্তুষ্টকারী কোনো মান নেই।

অ্যাপ্রোচ

  • perimeter ইন্টিজার ভেরিয়েবলে পরিমাপ।
  • rightTriangles(int p) ফাংশন পরিমাপ গ্রহণ করে সম্ভাব্য কোণযুক্ত ত্রিভুজের সংখ্যা রিটার্ন করে।
  • count=0, c=0।
  • for a=1 থেকে p/2 এবং b=1 থেকে p/3: c=p-a-b।
  • ত্রিভুজ শর্ত: a+b>c && b+c>a && a+c>b।
  • পিথাগোরাস: a*a+b*b==c*c। সত্য হলে count++।
  • নোট: শুধু একটি কম্বিনেশনে পিথাগোরাস চেক করা হয় অনন্য ফলাফলের জন্য।

উদাহরণ কোড

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

int rightTriangles(int p) {
    int count = 0;
    int c = 0;
    for (int a = 1; a < p/2; a++) {
        for (int b = 1; b < p/3; b++) {
            c = p - a - b;
            if (a + b > c && b + c > a && a + c > b) {
                if ((a*a + b*b) == c*c) {
                    ++count;
                }
            }
        }
    }
    return count;
}

int main() {
    int perimeter = 12;
    cout << "Total number of right triangles that can be formed: " << rightTriangles(perimeter);
    return 0;
}

আউটপুট

Total number of right triangles that can be formed: 1
  1. C++-এ অ্যারে এলিমেন্ট এবং একটি সংখ্যার গড়ের অকারেন্স সংখ্যা গণনা

  2. মোট n বিন্দু এবং m সংরেখ বিন্দু দিয়ে ত্রিভুজের গণনা (C++ প্রোগ্রাম)

  3. C++-এ start থেকে end পর্যন্ত GCD बरাবর given number হয় এমন জোড়া সংখ্যা গণনা

  4. C++-এ দिये गये আয়তের ভেতরে সম্ভাব্য রম্বসের সংখ্যা গণনা