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

时间:2017-05-22 15:38:29

标签: javascript function if-statement

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

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

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

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

2 个答案:

答案 0 :(得分:2)

如果问题是要找出数字的阶乘,这个解决方案会很有用。

代码中的错误代替此行scope:true应该是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)));
}




答案 1 :(得分:0)

要显示N! = XXX,您需要

  1. 计算N!
  2. 构建一个字符串N! = XXX
  3. 在您的DOM中或通过console.log
  4. 显示

    
    
    let fac = n => n > 0 ? fac(n - 1) * n : 1;
    
    let n = 3;
    
    let output = `${n}! = ${fac(n)}`;
    
    console.log(output); // 3! = 6