每日一道算法題 - 階乘 (easy-2)

雖然都是很簡單的算法,每一個都只需5分鐘左右,但寫起來總會遇到不一樣的小問題,但願你們能跟我一塊兒天天進步一點點。
更多的小算法練習,能夠查看個人文章。javascript

規則

Using the JavaScript language, have the function FirstFactorial(num) take the num parameter being passed and return the factorial of it (e.g. if num = 4, return (4 3 2 * 1)). For the test cases, the range will be between 1 and 18 and the input will always be an integer. java

使用JavaScript語言,讓函數FirstFactorialnum)獲取傳遞的num參數並返回它的階乘(例如,若是num = 4,則返回(4 3 2 * 1))。
ps:對於測試用例,範圍將介於1和18之間,輸入將始終爲整數。算法

測試用例

Input:4
Output:24

Input:8
Output:40320

my code

function FirstFactorial(num) { 
    var count = 1
    for(var i=num;i>0;i--) {
        count *= i
    }
  // code goes here  
  return count; 
}

other code

code 1

function FirstFactorial(num) {
  if (num === 0 || num === 1) {
    return 1;
  }
  return num * FirstFactorial(num - 1);   
}

code 2

function FirstFactorial(num) { 
    return ( num === 0 || num === 1) ? num : num * FirstFactorial(num - 1)
}

思路

方法1:經過遍歷,計算出乘積
方法2:經過遞歸函數,計算出乘積函數

相關文章
相關標籤/搜索