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

C++-এ প্যাসকেলের ত্রিভুজ (Pascal's Triangle)


প্যাসকেলের ত্রিভুজ (Pascal’s triangle) হলো বাইনোমিয়াল কোইফিসিয়েন্টের একটি অ্যারে। শীর্ষ সারিটি n=0 হিসেবে নম্বর করা হয়, এবং প্রতিটি সারিতে বাম থেকে শুরু করে k = 0 হিসেবে নম্বর করা হয়। প্রতিটি সংখ্যা পূর্ববর্তী সারির দুটি সংখ্যা যোগ করে পাওয়া যায় যা বর্তমান সেলের ঠিক উপরে রয়েছে। এটি (𝑛𝑘) বের করে সারি নম্বর n এবং কলাম নম্বর k-র জন্যও তৈরি করা যায়।

যদি ইনপুট ১০ হয়, তবে আউটপুট নিচের মতো হবে −

               1               1 1              1 2 1             1 3 3 1            1 4 6 4 1          1 5 10 10 5 1          1 6 15 20 15 6 1          1 7 21 35 35 21 7 1      1 8 28 56 70 56 28 8 1    1 9 36 84 126 126 84 36 9 1

এটি সমাধানের জন্য আমরা নিচের ধাপগুলো অনুসরণ করব।

  • for i := 0 to n
    • for j = 0 to n – i – 2, print black space
    • for j := 0 to i, perform nCr(i, j)

নিচের ইমপ্লিমেন্টেশন দেখে ভালোভাবে বুঝতে পারবেন −

উদাহরণ (C++)

#include<iostream> #include<iomanip> using namespace std; long fact(long n){    int i, fact = 1;    for(i = n; i>1; i--)       fact *= i;    return fact;//দেওয়া সংখ্যার ফ্যাক্টোরিয়াল } long nCr(long n, long r){    long nume = 1, i;    for(i = n; i>r; i--)       nume *= i;    return long(nume/fact(n-r));//nCr-এর ফলাফল জেনারেট } void genPascalsTriangle(long n){    for(int i = 0; i<n; i++){       for(int j = 0; j<(n-i-1); j++)          cout <<setw(3)<< " ";//ত্রিভুজাকার ফর্ম দেখানোর জন্য স্পেস প্রিন্ট       for(int j = 0; j<(i+1); j++)          cout <<setw(3)<< nCr(i, j) <<setw(3)<< " ";       cout << endl;    } } main(){    int n;    cout << "Enter Number of lines: "; cin >> n;    genPascalsTriangle(n); }

ইনপুট

10

আউটপুট

                        1                        1 1                       1 2 1                      1 3 3 1                      1 4 6 4 1                     1 5 10 10 5 1                  1 6 15 20 15 6 1                 1 7 21 35 35 21 7 1                1 8 28 56 70 56 28 8 1                1 9 36 84 126 126 84 36 9 1

  1. সি++-এ ত্রিভুজের পেরিমিটার (Perimeter) বের করা

  2. সি++-এ ত্রিভুজের কেন্ড্রয়েড (Centroid) বের করার প্রোগ্রাম

  3. প্যারালেলোগ্রামের ভিতরে ত্রিভুজের ক্ষেত্রফল C++-এ

  4. পাইথনে প্যাসক্যালের ট্রায়্যাঙ্গেল জেনারেট করার প্রোগ্রাম