81,094
社区成员
发帖
与我相关
我的任务
分享
public int fun1(int num){
if(num == 1 ¦ ¦ num == 2){
num = 1;
}else{
return fun(num - 1) + fun(num - 2);
}
}
public void fun2(int num){
int temp = 0;
for(int i = 1; i <= num; i++){
temp = fun(i);
if(temp >= num) break;//终止循环
System.out.println(temp);
}
}
public void main(String[] args){
fun2(15);
}
/*执行过程
num = 15;
i = 1;
temp = 1;
i = 2;
temp = 1;
i = 3;
temp = 2;
i = 4;
temp = 3;
i = 5;
temp = 5;
i = 6;
temp = 8;
i = 7;
temp = 13;
i = 8;
temp = 21;temp >= num成立,退出循环。
打印结果:
1
1
2
3
5
8
13
*/
上面的看着不舒服,再来一个。
void fun(int t) {
int r1 = 0, r2 = 1,temp=0;
if (t < 0)
return;
while (r2 <= t) {
System.out.print(r2 + "\t");
temp=r1;
r1=r2;
r2 = temp+r2;
}