Monday, June 6, 2016

Java Challenge - factorial

Given n of 1 or more, return the factorial of n, which is n * (n-1) * (n-2) ... 1. Compute the result recursively (without loops).

factorial(1) → 1
factorial(2) → 2
factorial(3) → 6

Hisoka:
1
2
3
4
public int factorial(int n) {
  if(n == 1) return 1;
  return n*factorial(n-1);
}

Hasil:

Codingbat:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
public int factorial(int n) {
  // Base case: if n is 1, we can return the answer directly
  if (n == 1) return 1;
  
  // Recursion: otherwise make a recursive call with n-1
  // (towards the base case), i.e. call factorial(n-1).
  // Assume the recursive call works correctly, and fix up
  // what it returns to make our result.
  return n * factorial(n-1);
}

Woooh...sama yaaak... :D

No comments:

Post a Comment