BOJ 10872
2020-02-12
위 문제는 백준 사이트의 알고리즘 10872 문제에 관한 설명입니다.
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.
출력
첫째 줄에 N!을 출력한다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(factorial(n));
}
public static int factorial(int n )
{
if(n==0)
{
return 1;
}
else
return n *= factorial(n - 1);
}
}
제가 푼 소스코드입니다.
코드 설명
for문으로 풀이해도 되었지만 재귀함수로 풀려 노력했습니다.
factorial 메소드를 이용해서 n이 0이라면 정상종료, 아니라면 재귀함수를 계속 반복합니다.
이후 출력이 됩니다.
재귀함수의 아주 기초였습니다.