C++的遞迴

我不是科班出身的,所以很多觀念都是在工作時自己看書學來的
今天紀錄一下遞迴的慨念

我一直搞不清楚遞迴,不過現在有點懂了,遞迴就是將程式拆解成上一層的延伸
也就是說 f(x) = f(n)*f(x-1)
要知道f(x),就必須要知道f(x-1),要知道f(x-1),就必須要知道f(x-2)......
電腦會自動遞回到達f(0),而 f(0) 是有個基本值的, 然後再反算回去......

我以前搞不懂甚麼時候要用遞迴,甚麼時候不用
現在理解了,那必須函數本身擁有遞迴的性質才行(也就是 一個函數要參考前一個函數)
不是說想遞迴就可以遞迴的,另外,遞迴的效率很差,所以實際上不用學懂應該沒關係

像費波那契數列就是遞迴性質的, f(x)=f(x-1)+f(x-2)
以下就紀錄一下方法

void main(void){
        int step=0;
        cout << "Fibonacci creator !" << endl;
        cout << "please input the step you want to show :";
        cin  >> step;
        cout << "Fibonacci of " << step <<" is "<<
}


int Fibonacci(int step){
    if (step <=2){ return 1;}
    return    Fibonacci(step-1)+Fibonacci(step-2);
}

留言

這個網誌中的熱門文章

如何在VS2022 Community 簡要的設定UDK2018的環境

自製讀取 H 檔案並找出 define 的程式

如何Build UDK2018