티스토리 뷰
반응형
안녕하세요 오늘은 C언어로 재귀함수를 구현해보겠습니다.
저번에 설치한 Dev C++ 컴파일러를 사용하였습니다.
재귀함수란 자기 자신을 호출하는 함수인데요, 팩토리얼(factorial)이라는 함수를 구현하면서 살펴보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> int factorial(int n){ if(n==0) return 1; else return n*factorial(n-1); } int main(){ int n; printf("수를 입력하세요: "); scanf("%d",&n); printf("%d",factorial(n)); return 0; } | cs |
전체 소스코드입니다.
factorial이라는 새로운 함수를 main함수 위에 정의해주었구요,
값을 알고싶은 변수 n이 1이면 1을 ,1보다 크면 다시 n*factorial(n-1)을 return하여
1만큼 계속 낮아진값을 반환하다가 1을 반환할 때까지 반복적으로 factorial를 호출합니다.
결과적으로 return된 값이 n! 임을 알 수 있습니다.
위 처럼 5를 입력하면 5! = 120 이 출력됩니다.
간단하죠?
반응형
'알고리즘&자료구조' 카테고리의 다른 글
[자료구조] C언어로 큐(Queue) , 원형 큐(Circular Queue) 구현, 소스코드 (19) | 2018.01.05 |
---|---|
[알고리즘] C언어 삽입정렬 구현(Insertion Sort) 소스코드 (1) | 2018.01.05 |
[알고리즘] C언어 선택정렬 구현(selection sort) ,소스코드 (0) | 2018.01.03 |
[알고리즘] C언어 버블정렬 구현(bubble sort), 소스코드 (0) | 2018.01.02 |
[자료구조] C언어로 스택(Stack) 구현, 소스코드 (6) | 2018.01.01 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday