ㅇ 공부#언어/(C++) 자료구조 및 STL
2. 재귀함수를 이용하여 펙토리얼 구현하기
BrainKimDu
2022. 9. 15. 21:53
2.
재귀함수를 이용하여 펙토리얼 함수를 구현하세요.
숫자를 입력받고, 이에 해당하는 결과값을 출력합니다.
알고리즘 분석
펙토리얼이란
5! = 5 * 4 * 3 * 2 * 1 = 120
즉
n! = n * (n-1) * (n-2) .... * 2 * 1 =
을 말한다.
재귀함수로 구현하기 위해 n-1의 값을 다시 함수로 돌리는 방식을 생각해보자.
ADT int 펙토리얼 (int n){
if(n이 1이라면)
1을 반환해주세요.;
if(n이 1보다 크다면)
return n * f(n-1)
}
소스코드로 구현해보자
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int pack(int n) {
if (n == 1) {
return n;
}
return n * pack(n - 1);
}
int main() {
int n;
printf("펙토리얼을 구합니다. 숫자를 입력해주세요.");
scanf("%d", &n);
printf("%d", pack(n));
}
정상출력을 확인하였다.