https://www.acmicpc.net/problem/10872
- 예제 입력1
10
- 예제 출력1
3628800
- 예제 입력2
0
- 예제 출력2
1
- 문제 접근
- 입력
- N (0 <= N <= 12)
- 출력
- N 팩토리얼 출력
- 입력
- 문제 해결
- 문제를 푸는 방법은 2가지
- 입력받은 N ~ 1까지 모두 곱하는 반복문 사용
- 재귀 함수 사용
- 문제를 푸는 방법은 2가지
- 반복문 풀이 [메모리 : 14,084 KB / 시간 : 104 ms]
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int sum = 1;
for(int i = N; i > 1; i--) {
sum *= i;
}
System.out.println(sum);
}
- 재귀 풀이 [메모리 : 14,176 KB / 시간 : 100 ms]
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
System.out.println(factorial(N));
}
private static int factorial(int N) {
if(N == 1) return 1;
return N * factorial(N - 1);
}
'Coding Test > Step19. 조합론' 카테고리의 다른 글
[Java] 5단계. 다리 놓기 [1010번] (0) | 2024.11.12 |
---|---|
[Java] 4단계. 이항 계수 1 [10872번] (0) | 2024.11.12 |
[Java] 2단계. 녹색거탑 [24723번] (0) | 2024.11.11 |
[Java] 1단계. 베라의 패션 [15439번] (1) | 2024.11.11 |