티스토리 뷰
# 팩토리얼 문제
문제) 팩토리얼 (=계승) 함수 n!은 $n\le1$일 때 n * (n - 1)! 의 값을 가진다. n!을 계산하는 C프로그램을 순환과 반복버전으로 구현하라.
# 구현 // 순환함수는 다들 쉽게 작성하시리라 믿고, 반복버전 코드를 배워가시면 좋을 것 같습니다.
/************************************************* ** Factorial recursive ver & iterative ver *************************************************/ #include <stdio.h> int recur_fac(int n); int iter_fac(int n); void main() { int n; int output1, output2; while (1) { printf("원하는 수를 입력하세요. 만약 종료를 원한다면 음수를 입력해주세요.\n"); scanf("%d", &n); if (n < 0) break; output1 = recur_fac(n); output2 = iter_fac(n); printf("순환버전 팩토리얼 값: %d\n", output1); printf("반복버전 팩토리얼 값: %d\n", output2); } } int recur_fac(int n) { if (n <= 1) return 1; else return n * recur_fac(n - 1); } int iter_fac(int n) { int result = 1; while (n) // 0이 되면 while문 탈출 { result *= n--; } return result; } /************************************************* ** End Line *************************************************/
'Develop Story > C' 카테고리의 다른 글
<변수와 상수 고급 이론> 형한정어 Const (0) | 2017.08.18 |
---|---|
<피보나치 수열>: #순환 버전 #반복 버전 (0) | 2017.07.25 |
<C 프로그래밍 #1-1> 순환으로 최대값 최소값 구하기 (0) | 2017.06.29 |
C 언어 게임 프로그래밍 #1 : 배틀 테트리스 (5) | 2017.06.10 |
<C 프로그래밍 #4> : 중위식을 후위식으로 변환하는 프로그램 (0) | 2017.06.10 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday