递推办法求第n行杨辉三角的系数

第n+1行杨辉三角的系数是C(n,0)+C(n,1)+...+C(n,n),直接用这种办法计算的话速度会慢些。用递推法速度会快些。

下面是递推算法:

using System;


public class Triangle {
   
public static void Main()
   
{
        Triangle t
=new Triangle();
       
for (int i=1;i<15;i++)
            t.PrintTriangle1(i);
    }


   
void PrintTriangle1(int n)
   
{
       
if( 1==n ) Console.WriteLine("{0}",1);
       
else if( 2==n ) Console.WriteLine("{0},{1}",1,1);
       
else {
           
int[] a=new int[n];
           
int[] b=new int[n];
            a[
0]=1;
            a[
1]=1;
           
for(int i=3;i<=n;i++){
                b[
0]=1;
               
for(int k=1;k<=i-2;k++){
                    b[k]
=a[k-1]+a[k];
                }

                b[i
-1]=1;
               
for(int j=0;j<n;j++)
                    a[j]
=b[j];
            }

           
for(int i=0;i<n-1;i++)
                Console.Write(
"{0},",a[i]);
            Console.Write(a[n
-1]);
            Console.WriteLine();
        }
   
    }

}

posted on 2004-11-23 23:36  星星之火  阅读(950)  评论(0)    收藏  举报

导航