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));
}
정상출력을 확인하였다.
'ㅇ 공부#언어 > (C++) 자료구조 및 STL' 카테고리의 다른 글
6. 단순 연결 리스트 삽입, 탐색, 삭제, 역순 구현 (0) | 2022.10.09 |
---|---|
5. 희소행렬의 전치 계산하기 (0) | 2022.10.04 |
4. 순차(선형)리스트를 이용하여 다항식 계산기 만들기 (0) | 2022.09.15 |
3. 하노이탑 (0) | 2022.09.15 |
1. 피보나치 수열 (0) | 2022.09.15 |