楊輝三角演算法集錦

2021-04-22 11:00:33 字數 1600 閱讀 2844

/*

name: 楊輝三角集錦

author: goal00001111

date: 27-11-08 19:04

description:

分別使用了二維陣列,一維陣列,佇列,二項式公式,組合公式推論和遞迴方法等10種演算法

演算法思路詳見**注釋——注釋很詳細,呵呵

*/#include

#include

using namespace std;

const int maxrow = 40;

void printblank(int n);

int com(int n, int m);

int try(int row, int cel);

void fun_1(int row);

void fun_2(int row);

void fun_3(int row);

void fun_4(int row);

void fun_5(int row);

void fun_6(int row);

void fun_7(int row);

void fun_8(int row);

void fun_9(int row);

void fun_10(int row);

int main()

//輸出n個空格

void printblank(int n)

//輸出第n+1行

printblank(blank-=dis/2);

for (int i=0; i<=n; i++)

cout << setw(dis) << a[i];

cout << endl;

}delete a;

}//使用二項式定理輸出楊輝三角

void fun_7(int row)

n--;

}return s1;

}//使用組合公式推論輸出楊輝三角 :c(n,m) = (n-m+1)/m * c(n,m-1)

void fun_8(int row)

cout << setw(dis) << 1 << endl;//輸出每行最後乙個1 } }

//使用遞迴方法輸出楊輝三角 :c(n,k) = 1 (k=0或者n=k);c(n,k) = c(n-1,k-1) + c(n-1,k)

void fun_9(int row)

cout << endl;//輸出每行最後乙個1 } }

//遞迴函式,輸出楊輝三角 :c(n,k) = 1 (k=0或者n=k);c(n,k) = c(n-1,k-1) + c(n-1,k)

int try(int n, int k)

//使用二項式定理輸出楊輝三角 :對fun_7的乙個改進,利用了c(n,m) = c(n,n-m),這樣只需計算一半 

void fun_10(int row)

//輸出第n+1行

printblank(blank-=dis/2);

for (int j=0; j<=i; j++)

cout << setw(dis) << a[j];

cout << endl;

} delete a;

}

楊輝三角集錦

name 楊輝三角集錦 author goal00001111 date 27 11 08 19 04 description 分別使用了二維陣列,一維陣列,佇列,二項式公式,組合公式推論和遞迴方法等10種演算法 演算法思路詳見 注釋 注釋很詳細,呵呵 include include using n...

python楊輝三角 楊輝三角I II

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...

每日演算法 楊輝三角

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 解法一 遞迴。下面一行的m值是由上面一行n值決定的。比如下面一行的第i個元素m i 值是由上面一行...