int Fibo(int n) { if(n == 1) return 0; else if(n == 2) return 1; else return Fibo(n-1) + Fibo(n-2); }
int Fibo( int idx ) { if ( idx < 2 ) { return idx; } else { return Fibo( idx - 1 ) + Fibo( idx - 2 ); } }
int Fibo(int n) { printf("func call param %d \n\n", n); // Fibo() 함수호출 확인을 위한 추가 조건 if(n == 1) return 0; else if(n == 2) return 1; else return Fibo(n-1)+Fibo(n-2); }
int FiboTopDown( int idx, std::vector<int>& fibobank ) { if (fibobank[idx] != -1) { return fibobank[idx]; } if (idx < 2) { fibobank[idx] = idx; } else { fibobank[idx] = Fibo( idx - 1 ) + Fibo( idx - 2 ); } return fibobank[idx]; }
int main(void) { int i; for(i=1; i<15; i++) { printf("Fibo(%d) : %d\n", i, Fibo(i)); } return 0; }
void Option1() { int n; do { fflush(stdin); printf("N = "); scanf("%d", &n); } while (n<0); printf("Fibo (%d) = %d", n, Fibo(n)); }
int main(void) { //int i; //for(i = 1 ; i< 15 ; i++) //printf("%d ", Fibo(i)); Fibo(7); return 0; }
/* Option 1 */ int Fibo(int n) { if (n<=2) return 1; return Fibo(n-2) + Fibo(n-1); }
int Fibo(int n) // 피보나치 수열 함수 { if(n==1) return (0); else if(n==2) return (1); else return Fibo(n-1)+Fibo(n-2); // (n-1)과 (n-2)를 더한다. 숫자가 커질수록 같은 함수가 똑같이 불린다. }
void menu(void) { int n=0; int num; int ch; int i; while(1) { printf("=========menu========= \n"); // 처음부터 보여질 메뉴 printf("1. Factorial \n"); printf("2. Fibo \n"); printf("3. Hanoi Tower \n"); printf("4. Performance test \n"); printf("선택: "); // 사용자가 선택. scanf("%d", &n); switch(n) { case 1: printf("\n"); printf("Factorial 숫자 입력: "); scanf("%d", &num); printf("%d! = %d \n", num, Factorial(num)); // 팩토리얼 함수 호출 printf("\n\n\n"); break; case 2: printf("\n"); printf("Fibo 숫자 입력: "); scanf("%d", &num); for(i=1; i<num+1; i++) { ch = Fibo(i); printf("%d ", ch); } // 반복문으로 피보나치 수열 출력 printf("\n\n\n"); break; case 3: printf("\n"); printf("Honoi Tower 숫자 입력: "); scanf("%d", &num); Hanoi_Tower(num, 'A', 'B', 'C'); // 하노이타워 함수 호출 printf("\n\n\n"); break; case 4: printf("\n\n\n"); while(1) { measureTime(); // 시간측정 함수 호출. 원래 메뉴 대신 시간측정 메뉴가 나온다. } break; default: printf("1~4까지 선택해주세요. \n"); // 사용자가 잘못 입력했을 경우. printf("\n\n"); } } return ; }