国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS實現的排列組合算法示例

2019-11-19 11:10:48
字體:
來源:轉載
供稿:網友

本文實例講述了JS實現的排列組合算法。分享給大家供大家參考,具體如下:

在數學中有排列組合,用來計算概率。

比如:從4個數字中,任意選擇兩個的情況。從5個數字中任意選擇3個數字的情況。(這里我們只考慮沒有順序的情況)。

公式:C(n,m)=n!/[m!(n-m)!]=n*(n-1)*...*(n-m+1)/[1*2*...*m],如C(5,2)=[5*4]/[1*2]=10.

舉例說明:有 1,2,3,4 四個數字,從這四個數字中,任意選擇兩個數字一共有多少種情況:[1,2], [1,3], [1,4], [2,3], [2,4], [3,4]一共有這六種情況。

下面用代碼實現從5個數字中任意選擇3個的情況(不考慮順序)。

<script>var array = [1, 2, 3, 4, 5];for(var i = 0, len1 = array.length; i < len1; i++) { var a2 = array.concat(); /* 排除之前已經組合過的數據 比如:第一次的時候,i[0] = 1, 這個時候2層循環, 只循環 2~5,  第二次的時候, i[1] = 2, 這個時候2層循環, 只循環 3~5 同理:3層循環也是相比于2層循環來 */ a2.splice(0, i + 1); for(var j = 0, len2 = a2.length; j < len2; j++) { var a3 = a2.concat(); a3.splice(0, j + 1); for(var k = 0, len3 = a3.length; k < len3; k++) {  console.log(array[i] + ' ' +a2[j] + ' ' + a3[k]); } }}</script>

運行結果:

需要取幾個數字,就嵌套循環幾次。

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數據結構與算法技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript數學運算用法總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵台县| 青铜峡市| 和政县| 扎兰屯市| 紫金县| 临泉县| 沈阳市| 台南县| 蕲春县| 平和县| 邯郸市| 肇庆市| 宜章县| 团风县| 腾冲县| 札达县| 介休市| 花莲县| 冷水江市| 惠东县| 萝北县| 来安县| 娱乐| 会理县| 从化市| 霸州市| 贺兰县| 大田县| 南雄市| 壶关县| 鄂州市| 永宁县| 丹棱县| 天峨县| 祁门县| 垫江县| 陈巴尔虎旗| 榆树市| 太仆寺旗| 孝感市| 新化县|