백준/재귀
백준 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