數學方面的一些思維訓練

遞歸

       理解遞歸,首先需要了解一種數據結構:堆棧(簡稱棧)。棧是一種後進先出的數據結構。在程序運行時,系統每次向棧中放入一個對象,棧指針會向上移動一個位置;當系統從棧中取出一個對象時,最近進棧的對象會被取出,指針向下移動一個位置。(棧存在於每個程序中,他不需要編寫代碼進行維護,而是由系統自動處理)

       遞歸的基本思想:把規模大的、較難解決的問題變成規模較小的、易解決的同一問題。規模較小的問題又變成規模更小的問題,並且小到一定程度可以直接得出它的解,從而得到原來問題的解。總而言之,遞歸處理問題就是將問題規模逐步縮小的過程。

       1、階層

//參數n是輸入的計算階層的整數
int fact(int  n){
    if(n==0){         //遞歸結束的條件
        return  1;
    }else{
        renturn  n*fact(n-1);
    }
}

      2、兔生兔

斐波那契數列
公式:Fn = Fn-1 + Fn-2

int fibo(int n){
    if(n == 0)
        return 0;
    else if(n == 1)
        return 1;
    else
        return fibo(n-1)+fibo(n-2);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章