面试题之:js 实现阶乘

拟墨画扇 提交于 2019-12-02 23:34:55

阶乘的公式是:  n! = 1 * 2 * 3 * 4 * ... * (n-2) * (n-1) * n

 

输入一个 n, 实现阶乘 。代码如下:

// 公共 html 部分
<p>
    请输入:
    <input type="text" id="input" placeholder="请输入整数n" />
</p>
<button onclick="set()">button</button>
<div class="result">
    结果:<div id="result"></div>
</div>

 

方法一:递归

function set(){ // 入口函数
    let n = document.getElementById('input').value
    let res = this.math(n)  // 结果
   
    document.getElementById('result').innerText = res
}

function math(n){ // 递归函数
    if(n < 0){
        return -1
    }else if(n === 0 || n === 1){
        return 1
    }else{
        return n * this.math(n-1)
    }
}

 

方法二: while()

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!