public class Apr13Continue {
public static void main(String[] args) {
}
public static int fibonacci(int n) {
//斐波那契数列方法一递归调用,INT最大只能到(2^32)-1=2147483647
if(n == 1||n == 2) {
return 1;
}
if(n > 2) {
return fibonacci(n - 1) + fibonacci(n - 2);
}
return -1;
}
//方法二for循环实现
public static int fibonacci2(int n) {
if(n == 2 || n == 1) {
return 1;
}
if(n > 2) {
int j1 = 1,k2 = 1,o3 = 0;//前两数已知为1,第三个先设为0
for(int i = 0;i < n - 2 ; i++) {
o3 = j1 + k2;
j1 = k2;
k2 = o3;
}
return o3;
}
return -1;
}
}