공부/알고리즘

[백준] 10872번 팩토리얼

2020. 10. 31. 17:16

문제

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

입력

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

출력

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


풀이

재귀 함수를 사용한다.

재귀 함수에 매개변수로 n을 넘기고 다음번에는 n-1을 넘긴다.

n이 0이되면 재귀를 종료한다.

 

소스코드

import java.util.Scanner;

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;
        }
        return n * factorial(n - 1);
    }
}

 

문제 출처 : www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

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

www.acmicpc.net

반응형

'공부 > 알고리즘' 카테고리의 다른 글

[백준] 11399번 ATM  (0) 2020.11.26
[백준] 1931번 회의실배정  (0) 2020.11.24
[백준] 11047번 동전 0  (0) 2020.11.23
[백준] 2798번 블랙잭  (0) 2020.11.22
[백준] 10870번 피보나치 수 5  (0) 2020.11.14