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);
}
Beispiel #9
0
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)를 더한다. 숫자가 커질수록 같은 함수가 똑같이 불린다.
}
Beispiel #10
0
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 ;
}