1. 程式人生 > >C語言:二分查詢的遞迴法、將斐波那契數列改為遞迴版本

C語言:二分查詢的遞迴法、將斐波那契數列改為遞迴版本

#include<stdio.h>

//二分查詢的遞迴法
void Search(int p[],int low,int height,int key)  
{  
    int middle=(low+height)/2;  
    if(low>height)  
    {  
        printf("啥都沒有");  
        return;  
    }  
    if(p[middle]==key)  
    {  
        printf("%d\n",middle);  
        return;  
    }  
    else if(p[middle]>key)  
    {  
         Search(p,low,middle-1,key);  
    }  
    else if(p[middle]<key)  
    {  
         Search(p,middle+1,height,key);  
    }  
}  
int main()  
{  
    int p[5]={1,2,3,4,5};  
    Search(p,0,4,4); 
	  getchar();
    return 0;  
}

//將斐波那契數列改為遞迴版本
int Fibonacci(int n)
{
	
	int tmp;
	if(n == 1||n == 2)
	{
		tmp = 1;
		return tmp;
	}
	else
	{
		tmp=Fibonacci(n-2)+Fibonacci(n-1);
		return tmp;
	}
	
}
int main()
{
  printf("%2d\n",Fibonacci(6));
	getchar();
	return 0;
}