javascript - 编写一个接受正整数 N 并返回 N 的函数

标签 javascript function if-statement

函数应显示:N**!** = XXX - 其中 N 是输入数字,XXX 是使用 N 调用函数的结果。

我不确定这意味着什么,当我去寻求帮助时,他们给了我这个

function factorial(N){
    if (N==0){
        return 1;
    }
    return N = factorial(N - 1); 
}

但这是不正确的,它总是输出 1,而不是输入的数字。我也不知道如何用输入的数字输出感叹号。

最佳答案

如果问题是找出数字的阶乘,此解决方案将很有用。

代码中的错误不是这一行 N =factorial(N - 1) 它应该是 N * Factorial(N - 1)

function fact(x) {
   if(x==0) {
      return 1;
   }
   return x * fact(x-1);
}

function run(number) {
    console.log(fact(parseInt(number, 10)));
}
<input type="text" id="val"/>
<input type="button" value="Find factiorial" onclick="run(val.value)">

关于javascript - 编写一个接受正整数 N 并返回 N 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44116943/

相关文章:

python - 嵌套单行循环

android - "if"工作不正常

javascript - GAE jinja2 无法导入自定义 javascript 文件

javascript - 在 Qt 中将 C++ 对象暴露给 Javascript

javascript - 内部函数是外部函数的属性吗?

有人可以看看我的队列吗?

objective-c - 如何处理 if-than 语句中存在大量条件的情况?

javascript - 防止 iframe 重新加载父窗口

javascript - 图像上的简单 Javascript/CSS 文本叠加

php - 如何捕获网络上的击键?