java實現斐波那契數列


之前,你首先要知道什么是斐波那契數列

1. 非遞歸實現
int f1(int n) {
    if(n <= 0) return -1; // n應該>0,這里返回-1代表錯誤;下同
    int a = 1, b = 1;
    int temp;
    if(n == 1 || n == 2) return 0;
    // 循環移動a和b
    for(int i = 3; i < n; i++) {
        temp = a;
        a = b;
        b = temp + b;
    }
    return a + b;
} 

根據n,循環移動a和b,圖示:

image

2. 遞歸實現
int f2(int n) {
    if(n <= 0) return -1;
    if(n == 1 || n == 2) return 0;
    return f2(n - 1) + f2(n - 2);
}

推導圖示:

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM