首頁 >後端開發 >C++ >在C語言中,二項式係數的最大項值是多少?

在C語言中,二項式係數的最大項值是多少?

WBOY
WBOY轉載
2023-09-12 14:17:051404瀏覽

在C語言中,二項式係數的最大項值是多少?

給定一個正整數‘N’。我們需要找出所有二項式係數中的最大係數項。

二項式係數序列為nC0nC1nC2,…,nCr,…,nCn-2n Cn-1nCn

#找到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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除