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
'코드트리 챌린지' 카테고리의 다른 글
[코드트리] 재귀함수를 이용한 최댓값 / 재귀함수 (0) | 2023.10.26 |
---|---|
[코드트리] 홀수 짝수에 따른 출력값 / 재귀함수 (0) | 2023.10.26 |
[코드트리] 재귀함수를 이용한 피보나치 수 /재귀함수 (0) | 2023.10.26 |
[코드트리] 각 자리 숫자의 제곱 / 재귀함수 (0) | 2023.10.22 |
[코드트리] 1부터 특정 수까지의 합 2 / 재귀함수 (0) | 2023.10.22 |