본문 바로가기
Java/백준

[JAVA] 10872번 (재귀)

by 2D3 2022. 10. 21.
728x90

문제: 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);
    }
}

n! : n번째까지의 수를 곱함

  1. n* n-1 * n-2 ... -> for문을 사용해서 -> i번째까지 계속 서로 곱하게 -> for문을 사용하니까 재귀를 활용하기 어려워서 바꿈
  2. n이 0일 때는 1을 반환 (if문으로 작성 -> break)
728x90

'Java > 백준' 카테고리의 다른 글

[JAVA] 백준2438 (별찍기-1)  (0) 2022.10.21
[JAVA] 백준 11729번 (하노이의 탑)  (0) 2022.10.21
[JAVA] 백준 10870 (피보나치 수열)  (0) 2022.10.21
[JAVA] 백준2562번 (배열)  (0) 2022.10.21
[JAVA] 백준 10818번 (배열)  (0) 2022.10.21

댓글