帕斯卡三角形(Pascal's triangle)
// The following code is compiled on VC2005
//
#include "stdafx.h"
/*-----------------------------------------------
下面數值模式稱為帕斯卡三角形(Pascal's triangle)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
?? ...
三角形邊界上的數都是1,內部的每個數數是位于它上面的兩個數之和。
寫一個過程,采用遞歸算法計算過程計算出帕斯卡三角形。
// in china, 可叫做"楊輝三角或賈憲三角"
-------------------------------------------------*/
static long GetElement(const long row, const long col)
{
??? // 每行的外圍兩個元素為1
??? if ((1 == col) || (row == col))
??????? return 1;
??? else
??????? // 其余的部分為上一行的(col - 1)和(col)元素之和
??????? return GetElement(row - 1, col - 1) + GetElement(row - 1, col);
}
static long PascalTriangle(const long n)
{
??? int row;
??? int col;
??? for (row = 1; row <= n; ++row)
??? {
??????? for (col = 1; col <= row; ++col)
??????????? printf(" %4ld", GetElement(row, col));
??????? printf("/n");
??? }
?return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
?? PascalTriangle(5);
?return 0;
}
?
總結
以上是生活随笔為你收集整理的帕斯卡三角形(Pascal's triangle)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海皇波塞冬
- 下一篇: 帕斯卡三角形与道路问题