[C로 쓴 자료구조론] 1장 연습문제-7번(팩토리얼) 풀이
두비니
·2020. 5. 5. 14:09
문제
7. 계승 함수 n!은 n<=1일때 1의 값을, n>1일때 n*(n-1)!의 값을 갖는다.
n!을 계산하는 순환함수와 반복 함수를 모두 C로 작성하여라.
이거 재귀함수 근본문제죠?
재귀함수가 어려우신 분들은 제가 며칠 전 작성한 글 참고해 주시면 좋을 것 같습니다.
글은 여기!
https://dokhakdubini.tistory.com/190?category=814319
그래서 일단 함수를 작성할 때는
n<=1일때까지 재귀함수 꼴로 진행 할 것이고,
1 이상일때는 n*(n-1)!을 리턴해주는 방식으로 진행해주면 됩니다.
재귀함수 전체를 이해하려 하지말고, 수열의 점화식을 작성한다는 느낌으로 작성합시다.
#include <stdio.h>
int factorial(int n);
int main() {
int n;
printf("n의 값을 입력하세요: ");
scanf(" %d", &n);
printf("n! = %d", factorial(n));
}
int factorial(int n) {
if (n <= 1)
return 1;
else
return n * factorial(n - 1);
}
쉽죠? 간단한 재귀함수 문제였습니다.
'Coding_Algorithm > DS_Algorithm' 카테고리의 다른 글
[C로 쓴 자료구조론] 1장 연습문제-9번(이항계수) 풀이 (0) | 2020.05.07 |
---|---|
[C로 쓴 자료구조론] 1장 연습문제-8번(피보나치 수열) 풀이 (0) | 2020.05.06 |
[C로 쓴 자료구조론] 1장 연습문제-6번(제수) 풀이 (0) | 2020.05.04 |
[C로 쓴 자료구조론] 1장 연습문제-5번(비둘기집) 풀이 (0) | 2020.05.03 |
[C로 쓴 자료구조론] 1장 연습문제-4번(정렬) 풀이 (0) | 2020.05.02 |