Page 138 고등학교 프로그래밍 교과서
P. 138










예제 한 쌍의 토끼는 1개월 후부터 매달 한 쌍의 토끼를 낳는다. 만약, 토끼가 죽지
않는다고 할 때, 10개월 후에는 몇 쌍의 토끼가 낳게 되는지 구하는 프로그램
을 작성해 보자.

피보나치 수열 개월 처음 1개월 후 2개월 후 3개월 후 4개월 후 5개월 후 …
피보나치 수열이란 앞의 두 수의 합
이 바로 뒤의 수가 되는 수열이다.
이 수열을 처음 소개한 사람의 이름
을 따서 피보나치 수열이라고 한다.
피보나치의 수열은 자연 속의 꽃잎
토끼 …
의 수나 해바라기 씨앗의 개수에서
찾아볼 수 있다.


토끼
1쌍 1쌍 2쌍 3쌍 5쌍 8쌍 …
쌍의 수


알고리즘 설계

① 정수 1개를 입력받는다.

② 재귀 호출을 사용하여 입력받은 수보다 작을 때까지 반복하며 사용자 정의 함수를 호출한다.
사용자 정의 함수는 재귀 함수를 이용한다.


프로그램

01 #include
02 int fibo(int num);
03 int main(void){
04 int num;
05 printf("\n개월 수 입력: " );
06 scanf("%d" , &num) ;
07 printf("총 토끼 쌍: %d", fibo(num+1));
08 return 0;
09 }
10 int fibo(int num){
11 if(num = = 0) return 0;
12 else if(num = = 1) return 1;
13 else return fibo(num-1) + fibo(num-2);
14 }


실행 결과

개월 수 입력: 10 
총 토끼 쌍: 89




136 Ⅱ. C 프로그래밍의 기초





(책)2015프로그래밍-교과서3차심의본 본문.indb 136 2017-09-05 오후 4:16:30
   133   134   135   136   137   138   139   140   141   142   143