728x90
코드 힌트
재귀함수 사용하기
- 재귀함수는 함수가 자기 자신을 호출하는 함수입니다. 이 문제에서는 팩토리얼을 계산하기 위해 재귀함수를 사용합니다.
기본값 반환하기
- 재귀함수에서 종료 조건을 설정하는 것이 중요합니다. n이 0이 될 때 1을 반환하도록 설정합니다. 이것은 팩토리얼의 기본값입니다 (0! = 1).
재귀 호출하기
- 재귀 호출은 현재 값을 다음 재귀 호출의 결과와 곱하는 방식으로 진행됩니다. 예를 들어, n이 5일 때 5 * factorial(4)을 호출합니다. 이렇게 재귀적으로 호출하여 1까지 계산합니다.
BufferedReader와 BufferedWriter 사용하기
- BufferedReader를 사용하여 입력 값을 읽고, BufferedWriter를 사용하여 결과를 출력합니다. 이러한 방식은 입출력 속도를 최적화하는 데 유리합니다.
정답은 더보기 클릭
더보기
import java.io.*;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
// 입력을 받기 위한 BufferedReader와 출력하기 위한 BufferedWriter 초기화
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 사용자로부터 정수를 입력받아 n에 저장
int n = Integer.parseInt(br.readLine());
// 주어진 정수 n에 대해 팩토리얼 결과를 계산
int result = factorial(n);
// 팩토리얼 결과를 출력
bw.write(result + "\n");
// 출력 버퍼를 비우고 BufferedWriter를 닫음
bw.flush();
bw.close();
}
// 팩토리얼을 계산하는 함수
static int factorial(int n) {
// n이 0일 때 1을 반환 (0! = 1이기 때문)
if (n == 0) {
return 1;
}
// 그렇지 않으면 n과 (n-1)!을 곱한 값을 반환
return n * factorial(n - 1);
}
}
728x90
'백준' 카테고리의 다른 글
[백준] 피보나치 수 5 (10870번) (0) | 2024.08.15 |
---|---|
[백준] ACM 호텔 (10250번) (0) | 2024.08.15 |
[백준] OX퀴즈 8958번 (0) | 2024.08.14 |
[백준] 더하기 사이클 1110번 (0) | 2024.08.14 |
[백준] 괄호 9012번 (0) | 2024.08.08 |