函数应显示: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/