반응형
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 20)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
예제 입력 110
|
예제 출력 13628800
|
예제 입력 20
|
예제 출력 21
|
풀이
팩토리얼을 계산하는 데에 더 효율적인 방법이 많지만, 재귀 연습 문제인 만큼 재귀로 해결해보도록 하자.
0 팩토리얼은 1임에 주의하자.
def fac(num, n):
if n == 0:
print(num)
return
fac(num*n, n-1)
n = int(input())
fac(1, n)
반응형
'알고리즘 연습 > 재귀' 카테고리의 다른 글
[🥈3 / 백준 4779 / 파이썬] 칸토어 집합 (0) | 2023.06.21 |
---|---|
[🥈4 / 백준 24060 / 파이썬] 알고리즘 수업 - 병합 정렬 1 (2) | 2022.09.18 |
[🥉2 / 백준 25501 / 파이썬] 재귀의 귀재 (0) | 2022.09.11 |
[🥉3 / 백준 14491 / 파이썬] 9진수 (0) | 2022.03.25 |
[🥈5 / 백준 17478 / 파이썬] 재귀함수가 뭔가요? (0) | 2022.02.06 |