728x90
#include <stdio.h>
unsigned long factorialUsingRecursion(unsigned long n);
unsigned long factorialUsingLoof(unsigned long n);
int main(void)
{
printf("10! = %lu\n", actorialUsingRecursion(10));
printf("10! = %lu\n", factorialUsingLoof(10));
return 0;
}
// 재귀호출을 이용한 factorial계산
// 종료조건(if)을 가장 먼저 적어주는 것에 유의
// 재귀호출은 어떻게 돌아가는지가 중요한 것이 아니라
// 어떤 수식을 그대로 옮겼느냐만 생각하면 된다.
unsigned long factorialUsingRecursion(unsigned long n)
{
if(n <= 1) return 1;
return(n*factorial(n-1));
}
unsigned long factorialUsingLoof(unsigned long n)
{
unsigned long result, i;
result = 1;
for(i=2; i<=n; i++)
{
result = result * i;
}
return result;
}
728x90
'Programming > C언어우려먹기' 카테고리의 다른 글
64bit 에서 int, long 사용 (0) | 2016.01.15 |
---|---|
예외처리 scanf에서 이상한 값이 입력되었을 때. (4) | 2008.05.29 |
유클리드 호제법을 이용한 최대공약수, 최소공배수 계산 (0) | 2008.05.29 |
정렬 - 삽입정렬(Insert Sort), 힙정렬(Heap Sort), 쉘정렬(Shell Sort) (0) | 2008.04.27 |
정렬 - 버블정렬(bubble sort), 선택정렬(selection sort), 퀵정렬(quick sort) (0) | 2008.04.27 |
source C 완전제곱수 판별 (2) | 2008.03.19 |
C언어에서 사용되는 연산자들(사실 C,C++,JAVA등 다양한 언어에서 공통적으로 사용된다.) (0) | 2008.03.10 |
무지간단한 주사위 통계 (0) | 2008.03.03 |
2진수로 표현하기 (0) | 2008.02.28 |