給定一個正整數‘N’。我們需要找出所有二項式係數中的最大係數項。
二項式係數序列為nC0,nC1,nC2,…,nCr,…,nCn-2,n Cn-1,nCn
#找到nCr的最大值。
<sub>n</sub>C<sub>r</sub> = n! / r! * (n - r)!
輸入 - N=4
輸出 - 最大係數- 6
解釋 - 4C0= 1, 4C1 = 4, 4C2 = 6 , 4C3 = 4, 4C4 = 1
因此,在這種情況下,最大係數為6。
輸入 - N=5
輸出 - 最大係數- 10
解釋 - 5C0= 1, 5C1 = 5, 5C2 =10, 5C3 = 10, 5C4 = 5, 5C5 = 1
因此,在這種情況下,最大係數為10。
我們從使用者那裡取得N的輸入。
函數maxCoeff(int n)接受一個參數'n',並傳回到目前為止在C[n 1][n 1]中找到的最大係數。
用0初始化min和max變數。 'min'用於遍歷C[][]數組,'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; // 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
以上是在C語言中,二項式係數的最大項值是多少?的詳細內容。更多資訊請關注PHP中文網其他相關文章!