求杨辉三角第N行第M个数的表示(杨辉三角如下)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求杨辉三角第N行第M个数的表示(杨辉三角如下)相关的知识,希望对你有一定的参考价值。

杨辉三角:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
……

参考技术A 杨辉三角实际上是二项式展开后的系数
例如
【1】(x+y)^0=1
【2】(x+y)^1=x+y 【1 1】
【3】(x+y)^2=x^2+2*x*y+y^2【1 2 1】
【4】(x+y)^3=x^3+3*x^2*y+3*x*y^2+y^3【1 3 3 1】
【5】(x+y)^4=x^4+4*x^3*y+6*x^2*y^2+4*x*y^3+y^4【1 4 6 4 1】
【6】(x+y)^5=x^5+5*x^4*y+10*x^3*y^2+10*x^2*y^3+5*x*y^4+y^5【1 5 10 10 5 1】

【N】(x+y)^N=C(0,N-1)+C(1,N-1)+C(2,N-1)+...+C(M-1,N-1)+...+C(N-1,N-1)

C(M-1,N-1)就是第N行M列的系数。即(N-1)个里头取(M-1)个的组合。
参考技术B 第一行是1,显然
从第二行开始,表示为C(下标为(n-1),上标为(m-1)),
算法(n-1)!/[(m-1)!(n-m)!]
参考技术C 用到了排列组合,应表示为:(n-1)!/[(m-1)!*(n-m)!] 参考技术D (n-1)*(n-2)*(n-3)*……*(n-m+1)/(1*2*3*……*(m-1)) 第5个回答  2006-07-13 m-1
C
n-1

组合的表示方法本回答被提问者采纳

第3章实践报告

  1. 实践题目:求经过数字三角形的最大和

  2. 问题描述:从三角形的顶端往下走,求经过数字之和最大的一条路径。

  3. 算法描述:把第0行第0列的值全都赋值为零,这样三角形的数a[i][j]就都可以用统一的式子表示了,最后在第n行的时候经过比较得到答案。

    for(int i=0;i<=n;i++)a[0][i]=0;
        for(int i=0;i<=n;i++)a[i][0]=0;
        for(int i=1;i<=n;i++){
             for(int j=1;j<=i;j++){
                 cin>>a[i][j]; 
            }
         }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++){
                a[i][j]+=max(a[i-1][j-1],a[i-1][j]); 
            }
        }
        int ans=0;
        for(int i=1;i<=n;i++){
            ans=max(ans,a[n][i]);
        }
        cout<<ans<<endl; 
  4. 算法时间及空间复杂度分析:算法中使用了双重循环,所以该算法的时间复杂度是o(n2),用到了一个n×n的表,所以空间复杂度是n2。

  5. 心得体会:这道编程题最开始是想从下往上写,但是思路被卡住了;经过讨论之后,决定是从上往下写才得到正解。以后开始编程之前一定要先把思路确定好,一种行不通要懂得变换。

以上是关于求杨辉三角第N行第M个数的表示(杨辉三角如下)的主要内容,如果未能解决你的问题,请参考以下文章

在杨辉三角形中,第m行第n个如何表示?(我需要的是一个公式!)

杨辉三角的公式求杨辉三角第N行第M个数是啥公式

杨辉三角形有公式可以求第n行第m个数吗?

算法基础_递归_求杨辉三角第m行第n个数字

杨辉三角的规律公式 怎么算杨辉三角中第m行第n项的数字?求手算公式,手算!

杨辉三角形有啥规律