본문 바로가기

두두의 알고리즘/문제

[재귀함수] 백준 10872번 '팩토리얼' (Python)

728x90

<문제 링크>

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

 

10872번: 팩토리얼

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

www.acmicpc.net


<문제 풀이>

  1. N! = 1*2*3*...(N-1)*N
  2. n이 1 또는 0일 때 1을 반환함
  3. for문 보다 효율적인 재귀 함수 사용

<코드>

'''
10

0
'''

n = int(input())

def fac(n):
    if n==1 or n==0:
        return 1
    return n * fac(n-1)

print(fac(n))