본문 바로가기

[python]/알고리즘 공부

백준 10872 팩토리얼 [python]

728x90

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

 

10872번: 팩토리얼

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

www.acmicpc.net

문제

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

입력

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

출력

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

예제 입력 1 복사

10

예제 출력 1 복사

3628800

예제 입력 2 복사

0

예제 출력 2 복사

1

 

#소스코드

def factorial(n):
    if n <= 1:
        return 1
    return n * factorial(n-1)

n = int(input())
print(factorial(n))

#풀이

0!과 1!은 값이 1이기 때문에 if문으로 따로 정의해주었다.

 

그리고나서부터는

2! = 2 x 1!

3! = 3 x 2!

4! = 4 x 3!

.

.

.

n! = n x (n-1)!   이렇게 반복하는 구조이기 때문에 return 에 저러한 값을 주었다.

 

728x90