Java遞歸實現斐波那契數列


代碼如下:
public class demo{
public static void main(String args[]) {
demo d = new demo();
int n = d.method(3);
System.out.println(n);
}
public int method(int n) {
if(n == 1) {
return 1;
}else if(n == 2) {
return 1;
}else {
return method(n - 1) + method(n - 2);
}
}
}
使用方法:往第4行代碼(n)中傳值即可。可將第4行代碼省略,直接println(d.method(3));
斐波那契數列例子:1 1 2 3 5 8 13 21 34 55 89 144
原理:首先查看n是否與1或2相同,如果相同就直接返回值1;如果不相同則進行計算,返回它的前一個值加上前兩個值的和,由於調用自身的方法回到參數n繼續循環計算,直到n等於1或者2運算完成后返回值。
例如上面代碼的是3,則是return method(3 - 1) + method(3 - 2);,之后method(2)method(1)又重新運算,因為1和2符合上方if以及if else判斷的值,所以第一個method(n -1)為1,第二個method(n -2)為1,兩個相加返回2。


免責聲明!

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



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