코드트리 챌린지
[코드트리] Factorial /재귀함수
우당탕탕코딩일기
2023. 10. 26. 14:18
https://www.codetree.ai/missions/5/problems/factorial?&utm_source=clipboard&utm_medium=text
Factorial
팩토리얼이란 차례로 곱한다는 뜻으로, 1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것을 n!로 나타낸다. 재귀함수를 이용하여 n! 값을 구하는 프로그램을 작성해보세요.
0! = 1
1! = 1
2! = 2
3! = 6
n! = n * (n-1)!
...
와 같이 정의된다.
입력 형식
첫 번째 줄에 정수 N이 주어집니다.
- 1 ≤ N ≤ 10
출력 형식
첫 번째 줄에 N! 값을 계산하여 출력합니다.
입출력 예제
예제1
입력:
5
출력:
120
내가 짠 코드
n = int(input())
def f(n):
if n==1 :
return 1
return f(n-1)*n
print(f(n))
이것도 재귀함수의 기본적인 문제 중 하나이다.
팩토리얼이란, 차례로 곱한다는 뜻으로, 1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것을 n!로 나타낸다.
재귀함수 문제이므로 가장 먼저할 것은 베이스케이스를 생각하는 것이다. 이 문제에서는 n==1 일때는 n-1 이 존재하지 않으므로 n==1 일때는 1을 리턴하도록 한다. 그 외에는 재귀적으로 처리가 가능하다. 자기 자신 곱하기 밑에 애들이므로 n*f(n-1)이다.
728x90