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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:31:03
字體:
供稿:網(wǎng)友

【實(shí)現(xiàn)方法】

  1.利用while循環(huán)來做,當(dāng)然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>兩種實(shí)現(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="計(jì)算"></body></html>

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

好久沒有弄了,練習(xí)下:

//  第一, 向上加的階層函數(shù)計(jì)算方法 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);             
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 华亭县| 湖南省| 莱西市| 伊金霍洛旗| 建水县| 禄丰县| 进贤县| 南阳市| 安达市| 松潘县| 措勤县| 建始县| 达州市| 滨海县| 南丹县| 通河县| 高安市| 安达市| 阆中市| 大石桥市| 滕州市| 无极县| 新野县| 佛冈县| 同仁县| 青海省| 建始县| 湖南省| 横峰县| 盘山县| 志丹县| 治县。| 莫力| 同江市| 铁岭市| 汝州市| 民丰县| 敖汉旗| 女性| 曲阜市| 云和县|