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

首頁 > 編程 > JavaScript > 正文

JavaScript使用遞歸和循環(huán)實現(xiàn)階乘的實例代碼

2019-11-19 13:07:59
字體:
來源:轉載
供稿:網(wǎng)友

【實現(xiàn)方法】

  1.利用while循環(huán)來做,當然for循環(huán)也可以。

  2.遞歸

【代碼內(nèi)容】

    偷懶,直接用onkeyup事件來限制來頁面的輸入

  循環(huán)代碼:

//第一種方法 while循環(huán)        oCount.onclick = function (){          var oNum = document.getElementById('num').value;          oNum = Number(oNum);          if(oNum <= 1){             oBox.innerHTML = 1;          }          var oRes = 1;          while(oNum){            oRes *= oNum;            oNum--;          }          oBox.innerHTML = oRes;        }

  遞歸代碼

// 第二種方法  遞歸      oCount.onclick = function(){        var oNum = document.getElementById('num').value;        oNum = Number(oNum);        function factorial (num) {          if (num <= 1) {            return 1;          } else {            return (num * factorial(num-1));          }        };        oRes=factorial(oNum);        oBox.innerHTML = oRes;      };

  完整代碼:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>兩種實現(xiàn)階乘方法</title>  <style>    #box {      width: 100%;      height: 200px;      border: 1px solid #ccc;      text-align: center;    }  </style>  <script>    window.onload = function() {       var oBox = document.getElementById('box');       var oCount = document.getElementById('count');      // 第一種方法 while循環(huán)      //  oCount.onclick = function (){      //     var oNum = document.getElementById('num').value;      //     oNum = Number(oNum);      //     if(oNum <= 1){      //       oBox.innerHTML = 1;      //     }      //     var oRes = 1;      //     while(oNum){      //       oRes *= oNum;      //       oNum--;      //     }      //     oBox.innerHTML = oRes;      //   }    // 第二種方法      oCount.onclick = function(){        var oNum = document.getElementById('num').value;        oNum = Number(oNum);        function factorial (num) {          if (num <= 1) {            return 1;          } else {            return (num * factorial(num-1));          }        };        oRes=factorial(oNum);        oBox.innerHTML = oRes;      };    }  </script></head><body>  <div id="box"></div>  <input type="text" id="num" onkeyup="value=value.replace(/[^0-9]/g,'')" onpaste="value=value.replace(/[^0-9]/g,'')" oncontextmenu = "value=value.replace(/[^0-9]/g,'')">  <input type="button" id="count" value="計算"></body></html>

下面通過代碼看下javascript 中階乘函數(shù)方法

好久沒有弄了,練習下:

//  第一, 向上加的階層函數(shù)計算方法 var number = function(n) {  if(n == 1) {    return 1  } else {    product = 1;    for(i = 1; i <= n; i++) {       product *= i;    }    return product;  }}var d = number(5);alert(d); // 第二, 往下減的階層函數(shù)var del = function(n) {    if(n == 1) {       return 1    } else {       return n * del(n - 1);    }  }  var data= del(5);  alert(data); 

總結

以上所述是小編給大家介紹的JavaScript使用遞歸和循環(huán)實現(xiàn)階乘的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴东县| 台州市| 嘉峪关市| 孙吴县| 济南市| 乌拉特前旗| 汝城县| 玉溪市| 淮阳县| 光泽县| 格尔木市| 正蓝旗| 淮北市| 巩留县| 天水市| 隆德县| 淮滨县| 桦南县| 彰化市| 黄梅县| 苍梧县| 深水埗区| 泾川县| 牙克石市| 德清县| 海安县| 柳河县| 饶河县| 定州市| 和静县| 吉首市| 右玉县| 阿图什市| 长宁县| 加查县| 常熟市| 鄄城县| 毕节市| 雅江县| 城市| 英超|