একটি ধনাত্মক ইন্টিজার 'N' দেওয়া আছে। সমস্ত বাইনোমিয়াল কোএফিশিয়েন্টের মধ্যে সর্বোচ্চ কোএফিশিয়েন্ট টার্ম বের করতে হবে।
বাইনোমিয়াল কোএফিশিয়েন্ট সিরিজ: nC0, nC1, nC2, ..., nCr, ..., nCn-2, nCn-1, nCn
nCr-এর সর্বোচ্চ মান বের করুন।
nCr = n! / (r! * (n - r)!)
উদাহরণ ১
ইনপুট: N=4
আউটপুট: সর্বোচ্চ কোএফিশিয়েন্ট - ৬
ব্যাখ্যা: ⁴C₀=1, ⁴C₁=4, ⁴C₂=6, ⁴C₃=4, ⁴C₄=1। সর্বোচ্চ ৬।
উদাহরণ ২
ইনপুট: N=5
আউটপুট: সর্বোচ্চ কোএফিশিয়েন্ট - ১০
ব্যাখ্যা: ⁵C₀=1, ⁵C₁=5, ⁵C₂=10, ⁵C₃=10, ⁵C₄=5, ⁵C₅=1। সর্বোচ্চ ১০।
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- ইউজার থেকে N ইনপুট নেওয়া হয়।
maxCoeff(int n)ফাংশন 'n' প্যারামিটার নেয় এবং C[n+1][n+1] অ্যারেতে স্টোর করা সর্বোচ্চ কোএফিশিয়েন্ট রিটার্ন করে।minএবংmaxভেরিয়েবল ০ দিয়ে আরম্ভিক라이জড।minC[][] অ্যারে ট্রাভার্সের জন্য,maxসর্বোচ্চ মান স্টোর করার জন্য।- i=0 থেকে n পর্যন্ত লুপ দিয়ে C[][] অ্যারে আরম্ভিক라이জ করা হয়।
- আন্তরিক লুপে 'i' বা 'n' যেটো ছোট সেটি পর্যন্ত ট্রাভার্স করা হয়।
- যদি i==j, C[i][j]=1। অন্যথায় C[i][j] = C[i-1][j-1] + C[i-1][j]।
- পুরো C[][] আবার ট্রাভার্স করে সর্বোচ্চ কোএফিশিয়েন্ট
max-এ স্টোর করা হয়। - ফলাফল রিটার্ন করা হয়।
উদাহরণ কোড
#include <stdio.h>
int maxCoeff(int n) {
int C[n+1][n+1];
int max = 0, min = 0;
// বাইনোমিয়াল কোএফিশিয়েন্টের মান গণনা
for (int i = 0; i <= n; i++) {
min = i < n ? i : n;
for (int j = 0; j <= min; j++) {
if (j == 0 || j == i)
C[i][j] = 1;
else
C[i][j] = C[i-1][j-1] + C[i-1][j];
}
}
for (int i = 0; i <= n; i++) {
max = max > C[n][i] ? max : C[n][i];
}
return max;
}
int main() {
int N = 3;
printf("সর্বোচ্চ কোএফিশিয়েন্ট: %d", maxCoeff(N));
return 0;
}
আউটপুট
সর্বোচ্চ কোএফিশিয়েন্ট: 3