문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.
출력
첫째 줄에 N!을 출력한다.
정답비율
47.435%
def fac(x) :
if x == 0 :
return 1
else :
return x * fac(x-1)
N = int(input())
print(fac(N))
팩토리얼은 기본적인 재귀함수의 구현이므로 쉽게 작성할 수 있었다. 다만 문제에서 0을 포함시켰으므로 0부터 시작하도록 코드를 짰다. 좀 더 궁금하다면 아래에 참고목록에서 필자의 다른 글을 살펴보길 바란다.
참고
10872번: 팩토리얼
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
www.acmicpc.net
<알고리즘> 07. 재귀 알고리즘 (1)
1. 재귀 알고리즘의 기본 * 재귀란 - 재귀 : 어떤 사건에서 자기 자신을 포함하고 다시 자신을 사용하여 정의되는 것. * 팩토리얼 구현 - n! 정의 ① 0! = 1 ② n > 0 이면 n! = n x (n-1)! 이 경우 n이 0.
haesoo9410.tistory.com
'Problem Solving > Baekjoon Online Judge' 카테고리의 다른 글
<브루트 포스> 2798번 블랙잭 with 파이썬 (0) | 2021.01.22 |
---|---|
<재귀> 10870번 피보나치 수 5 with 파이썬 (0) | 2021.01.20 |
<수학2> 1002번 터렛 with 파이썬 (0) | 2021.01.15 |
<수학2> 11653번 소인수분해 with 파이썬 (0) | 2021.01.13 |
<수학2> 3053번 택시 기하학 with 파이썬 (0) | 2021.01.11 |