您好,欢迎访问一九零五行业门户网

在C语言中,二项式系数的最大项值是多少?

给定一个正整数‘n’。我们需要找到所有二项式系数中的最大系数项。
二项式系数序列为nc0,nc1,nc2,…,ncr,…,ncn-2,ncn-1,ncn
找到ncr的最大值。
ncr = 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语言中,二项式系数的最大项值是多少?的详细内容。
其它类似信息

推荐信息