[C언어]재귀함수를 이용한 피보나치 수열 및 파스칼의 삼각형 출력
- 최초 등록일
- 2007.04.29
- 최종 저작일
- 2007.04
- 10페이지/ 압축파일
- 가격 1,500원
소개글
재귀함수를 이용하여 피보나치 수열을 출력합니다.
재귀함수를 이용하여 파스칼의 삼각형을 출력합니다.
1) 파스칼 삼각형을 그려주는 함수의 문제
파스칼 삼각형을 그려주기 위해서는 우선 삼각형을 기릴 무언가의 기준이 필요하다. 파스칼 삼각형은 C(n, k) = C(n-1, k) + C(n-1, k-1), C(n, 0) = 1, C(n, n) = 1 이라는 공식을 통해 그려진다는 점에서 정삼각형으로 보아야 할 것이다. 따라서 한변의 길이를 입력 받아야 할 것이며, 이는 출력시 높이의 역할을 하게 될 것이다. 삼각형을 그리는 것이기 때문에 한변의 길이는 0이 아닌 양수여야 하며, 입력 받은 숫자는 그리기 위한 for문에서의 종료 조건이 될 것이다. 삼각형을 그리기 위해서는 앞쪽에 빈칸을 설정해야 하는데, 파스칼 삼각형은 일정한 비율로 다음 라인의 원소 수가 늘어난다는 점에서 높이에서 현재 카운터를 뺀 값 만큼 숫자 하나가 차지하는 공간을 빈칸으로 출력하여 준다면 깔끔한 삼각형을 그릴 수 있을 것이다. 또한 각 라인의 숫자는 내부의 for문에서 외부의 for문 카운터 만큼 출력하여 주면 파스칼 삼각형을 그릴 수 있을 것이다.
2) 파스칼 삼각형의 내부 숫자를 구해오는 함수의 문제
연습문제 8.5에서는 재귀함수를 이용하여 파스칼의 삼각형을 그려야 하는데, 여기서 재귀함수는 삼각형을 이루고 있는 각 숫자를 구해오는데 쓰는 것이 좋을 것이다. 각 숫자는 피보나치 수와 같이 이전 값을 이용하여 현재 값을 구하는 방식이므로 재귀함수를 이용하는데 문제점은 없을 것이다. 파라미터는 두 개가 필요한데, 하나는 행, 하나는 열을 나타내게 될 것이며, 종료조건은 열 값이 0이거나 행/열 값이 같은 경우 1을 리턴하도록 하여 재귀적 호출을 제어할 수 있을 것이다. 그 외의 숫자는 정의에 의하여 이전 행의 현재 열 값 및 이전 행의 이전 열 값을 합하도록 함수를 호출하면 파스칼의 삼각형을 그릴 수 있을 것이다.
컴파일 실행환경
C언어
압축파일 내 파일목록
HW7.dsw
HW7.ncb
HW7.plg
HW7.dsp
Session8.cpp.bak
Session8.cpp
HW7.opt
HW7.hwp
Debug/vc60.idb
Debug/vc60.pdb
Debug/HW7.pch
Debug/HW7.exe
Debug/HW7.pdb
Debug/HW7.ilk
Debug/Session8.obj
참고 자료
Experiments in computer science - C version -