[Java] 백준 #10872 (재귀)

정상준·2022년 10월 27일
0

백준

목록 보기
66/99
post-thumbnail

📍 출처

출처 : https://www.acmicpc.net/problem/10872

📝 문제

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

⌨️ 입력

첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.

🖨 출력

첫째 줄에 N!을 출력한다.

⌨️ 예제 입력 1

10

🖨 예제 출력 1

3628800

⌨️ 예제 입력 2

0

🖨 예제 출력 2

1

📚 내가 제출한 코드

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);

		int num = sc.nextInt();
		int sum = factorial(num);
		
		sc.close();
		
		System.out.print(sum);
	}

	public static int factorial(int n){
		if(n<=1){
		return 1;
		}else{
		return n * factorial(n - 1);
		}
	}
}

✏️ 내가 제출한 코드에 대한 설명

재귀에는 탈출조건이 필요하다.

팩토리얼은 값을 1씩 감소시키며 곱셈을 하는 것으로 1이하가 될 때까지 곱셈을 하기때문에 탈출조건은 1이하가 된다.

profile
안드로이드개발자

0개의 댓글