๋ฐ์ํ
์ฌ๊ท์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ์ด๋ผ๊ณ ํ ์ ์๋ ํฉํ ๋ฆฌ์ผ ๋ฌธ์ ์ด๋ค.
๋จผ์ ํฉํ ๋ฆฌ์ผ ์ด๋?
์ซ์ n์ด ์ฃผ์ด์ก์ ๋, n ๋ถํฐ 1๊น์ง์ ๊ณฑ์ ๊ฒฐ๊ณผ๋ฅผ ๋ปํ๋ค.
0! = 1
1! = 1
2! = 2 x 1
3! = 3 x 2 x 1
..
n! = n x (n-1) x ... x 1
์ด๊ฒ์ ํธ๋ฆฌ ํํ๋ก ๋ง๋ค๋ฉด, ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.
์ ๊ทธ๋ผ ์ด์ ์ ํ์์ด ๋ณด์ธ๋ค.
if (n==1) ์ผ ๊ฒฝ์ฐ ∫(n) = 1;
if (n==2) ์ผ ๊ฒฝ์ฐ ∫(n) = 1;
n์ 0๋ณด๋ค ํฐ ์์ ์ ์์ด๋ค.
∫(n)= n x ∫(n-1)
์ฝ๋๋ก ํํ ํด๋ณด์.
import java.util.Scanner;
public class Factorial_10872 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int result = factorial(N);
System.out.println(result);
}
private static int factorial(int n) {
if (n == 0) {
return 1;
}
if (n == 1) {
return 1;
}
return n * factorial(n - 1);
}
}
๋ฐ์ํ