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

題目: 給定非負(fù)整數(shù)numRows,生成Pascal三角形的第一個(gè)numRows。在Pascal的三角形中,每個(gè)數(shù)字是它上面兩個(gè)數(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代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼,可得如下運(yùn)行結(jié)果:

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

