用java循环解答 1,2,3,5,8,13,21,34,55······· 请该收帮忙

2025-02-27 01:56:34
推荐回答(5个)
回答1:

输入对应的位置,得到对应的斐波那契的值 如:传入参数5 返回8
用递归实现:
public int test(int i){
if(i<0) return 0;
if(i<2) return 1;
return test1(i-1)+test1(i-2);
}
用迭代实现:
public int test2(int i){
int first=1;
int second=1;
if(i==0||i==1)return 1;
for(int k=2;k<=i;k++){
int result=first+second;
first=second;
second=result;
}
return second;
}

回答2:

//1,2,3,5,8,13,21,34,55
List list = new ArrayList();
int a1 = 1;
int a2 = 2;
list.add(a1);
list.add(a2);
int a3 = 0;
while(a3 <= 55){
a3 = a1 + a2;
list.add(a3);
a1 = a2;
a2 = a3;
}
System.out.println(list);

回答3:

public static void main(String[] args) {
int a1 = 0, a2 = 1, a3 = 1;
for (int i = 0; i < 9; i++) {
a3 = a1 + a2;
a1 = a2;
a2 = a3;
System.out.println(a3);
}
}

回答4:

public static void main(String[] args) {
int a = 1;
int k = 10;
int b = 0;
ArrayList list =new ArrayList();
for (int i = 0; i < k; i++) {
b += a;
a = a+b;
list.add(b);
list.add(a);
System.out.println(list.get(i));
}
}

回答5:

好像是什么斐波那契数列吧,当前数等于前两数之和