本文實(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.VeVB.COm/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ì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注