백준/재귀

백준 10872번: 팩토리얼-파이썬(python)

시현한 하루 2022. 9. 2. 14:49
728x90

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

 

10872번: 팩토리얼

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

www.acmicpc.net


1
2
3
4
5
6
7
8
9
10
#팩토리얼
def fac(a):
  if a==0:
    return 1
  return a*fac(a-1)
 
 
n=int(input())
 
print(fac(n))
cs

-이 문제는 반복문이 아니라 재귀 알고리즘으로 풀어야한다. 재귀는 함수 안에서 다시 함수를 호출하여 풀이하는 방식이다. 이 문제에서는 하나씩 줄어들게 곱해준다. 다시 함수를 불러오면 1씩 줄어들며 곱해진다.

-재귀함수는 반드시 종료 조건이 있어야하고, 이 풀이에서는 a가 0이 되면 0이 곱해지며 종료되는 형식이다.

728x90