JS實現(xiàn)的楊輝三角【帕斯卡三角形】算法示例
本文實例講述了JS實現(xiàn)的楊輝三角【帕斯卡三角形】算法。分享給大家供大家參考,具體如下:
楊輝三角,是二項式系數(shù)在三角形中的一種幾何排列,在中國南宋數(shù)學(xué)家楊輝1261年所著的《詳解九章算法》一書中出現(xiàn)。 在歐洲,帕斯卡(1623-1662)在1654年發(fā)現(xiàn)這一規(guī)律,所以這個表又叫做帕斯卡三角形。 帕斯卡的發(fā)現(xiàn)比楊輝要遲393年,比賈憲遲600年。

題目: 給定非負整數(shù)numRows,生成Pascal三角形的第一個numRows。在Pascal的三角形中,每個數(shù)字是它上面兩個數(shù)字的總和。
輸入: 5
輸出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
JS代碼如下:
<script>
var generate = function(numRows) {
if (numRows) {
var result = [[1]];
for(var i = 1;i < numRows;i++) {
result[i] = [];
for(var j = 0; j < i + 1;j++) {
result[i][j] = (result[i - 1][j] || 0) + (result[i - 1][j - 1] || 0);
}
}
return result;
}else {
return [];
}
};
console.log(generate(1000));
</script>
使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結(jié)果:

由于數(shù)據(jù)比較多,這里僅展示一部分運算結(jié)果,感興趣的朋友可以自己動手測試一下,看看運行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
JS教程:window.location使用方法的區(qū)別介紹
這篇文章介紹了window.location使用方法的區(qū)別,有需要的朋友可以參考一下2013-10-10
用JavaScript實現(xiàn)簡單網(wǎng)頁時鐘
這篇文章主要為大家詳細介紹了用JavaScript實現(xiàn)簡單網(wǎng)頁時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
JavaScript定義函數(shù)的三種實現(xiàn)方法
這篇文章主要介紹了JavaScript定義函數(shù)的三種實現(xiàn)方法的相關(guān)資料,希望通過本文大家能夠掌握三種定義函數(shù)的方法,需要的朋友可以參考下2017-09-09
JS.elementGetStyle(element, style)應(yīng)用示例
獲取Dom元素的Style數(shù)組中的指定Style元素,下面有個不錯的示例,感興趣的朋友可以參考下,希望對大家有所幫助2013-09-09

