javascript - Js函数顶部计算阶乘不起作用

标签 javascript

我正在从 coderbyte 做这个挑战,你必须创建一个函数来计算给定数字的阶乘,这是我不太有效的解决方案。

function firstFactorial(num) { 

  for (var i = num; i == 1; i--) {
      num = num * i;
  }
  return num;     
}

它只是返回我作为参数传入的任何数字,我试图理解出了什么问题。是与循环有关还是与变量作用域有关?

最佳答案

  1. i == 1 在循环条件下连接,对于除 1 之外的所有数字,它始终为 false。因此,它将始终返回与结果相同的数字。

    <
  2. i = num 应为 i = num-1 才能获得正确的阶乘。

function FirstFactorial(num) {
  
  for(var i = num-1; i >= 1; i--){
      num = num * i;
  }
  return num;     
}

console.log( FirstFactorial(5))

关于javascript - Js函数顶部计算阶乘不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52533567/

相关文章:

javascript - 如何在 Javascript 中提取本地镜像的元数据?

javascript - 尝试在 SharePoint 环境中使用 AngularJS DateRangePicker 时出现未定义错误

javascript - 如何将一维整数数组从 QML 发送到 C++?

javascript - 延迟文本在背景颜色中的显示和淡化

Javascript 正则表达式替换换行符

javascript - 手动自动生成href

javascript - jQuery 代码在 Firefox/Chrome 中不起作用

javascript - Bootstrap Typeahead Bloodhound 分词器不适用于多个值

javascript - 许多具有相同类 getDate 的 Datpicker

javascript - jQueryUI IE8 对象不支持此属性或方法