[JAVA] 백준 10872번 (재귀)

2D3·2022년 7월 23일
0

백준

목록 보기
12/22

문제: 0보다 크거나 같은 정수 N. N!을 출력하는 프로그램을 작성

입력: 첫째 줄에 정수 N(0 ≤ N ≤ 12)
출력: 첫째 줄에 N!을 출력


import java.util.Scanner;

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

        int N = in.nextInt();
        in.close();

        int sum = factorial(N);
        System.out.println(sum);
    }
    public static int factorial(int number) {
        if (number <= 1) {
            return 1;
        }
        return number * factorial(number - 1);
    }
}
  1. n! : n번째까지의 수를 곱함
  2. n n-1 n-2 ... -> for문을 사용해서 -> i번째까지 계속 서로 곱하게
    -> for문을 사용하니까 재귀를 활용하기 어려워서 바꿈
  3. n이 0일 때는 1을 반환 (if문으로 작성 -> break)
profile
return Success;

0개의 댓글