আমাদের একটি ধনাত্মক পূর্ণসংখ্যা 'N' দেওয়া হয়েছে। আমাদের সব দ্বিপদী সহগের মধ্যে সর্বোচ্চ সহগ শব্দটি খুঁজে বের করতে হবে।
দ্বিপদ সহগ সিরিজ হল n C0 , n C1 , n C2 , ...., n Cr , ...., n Cn-2 , n Cn-1 , n Cn
n এর সর্বোচ্চ মান খুঁজুন Cr .
nCr = n! / r! * (n - r)!
ইনপুট − N=4
আউটপুট − সর্বোচ্চ সহগ − 6
ব্যাখ্যা − 4 C0 =1, 4 C1 =4, 4 C2 =6, 4 C3 =4, 4 C4 =1
অতএব, এই ক্ষেত্রে সর্বোচ্চ সহগ হল 6৷
৷ইনপুট − N=5
আউটপুট − সর্বোচ্চ সহগ − 10
ব্যাখ্যা − 5 C0 =1, 5 C1 =5, 5 C2 =10, 5 C3 =10, 5 C4 =5, 5 C5 =1
অতএব, এই ক্ষেত্রে সর্বোচ্চ সহগ 10।
নিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
-
আমরা N.
এর জন্য ব্যবহারকারীর কাছ থেকে ইনপুট নিই -
ফাংশন maxCoeff(int n) একটি প্যারামিটার 'n' নেয় এবং C[n+1][n+1]
-এ এখনও পর্যন্ত সংরক্ষিত সর্বাধিক সহগ ফেরত দেয় -
0 দিয়ে ন্যূনতম এবং সর্বোচ্চ ভেরিয়েবল শুরু করুন। C[][] অ্যারে অতিক্রম করতে 'মিনিট' ব্যবহার করা হয় এবং পাওয়া সর্বোচ্চ সহগ মান সংরক্ষণ করতে 'ম্যাক্স' ব্যবহার করা হয়।
-
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[][] অতিক্রম করুন এবং সর্বোচ্চ সহগ সর্বোচ্চে সংরক্ষণ করুন।
-
ফলাফল ফেরত দিন।
উদাহরণ
#include <stdio.h> int maxCoeff(int n){ int C[n+1][n+1]; int max=0,min=0; // Calculate value of Binomial Coefficient in 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("Maximum Coefficient :%d", maxCoeff(N) ); return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেMaximum Coefficient: 3