//调用两个方法,一个计算当前值,一个打印整个数列
//练习7.4
//斐波那契求出当前值的数
public int f(int n){
if(n == 0){
return 0;
}
if(n == 1){
return 1;
}
if(n > 1 ){
return f(n - 1) + f(n - 2);
}
else{
return 0;
}
}
//斐波那契打印从1到当前值的数
public int fbnq(int x){
int sum = 0;
for(int i = 1;i <= x;i++){
if(i == 1){
sum += 1;
System.out.print(sum + "\t");
sum = 0;
}
if(i >= 2){
sum += f(i - 1) + f(i - 2);
System.out.print(sum + "\t");
sum = 0; //这里不归零会一直叠加前面的数,导致所求后面的结果数出错
}
}
return sum;//返回的值是0,在调用该方法的时候如果写了System.out.print,打印结果的最后一位会是0,因为上面已经有syso操作,因此直接调用方法就能打印,不需要再syso
}
}
Java用递归数列计算出斐波那契数列的第n个值,并将整个数列打印---随堂练习
最新推荐文章于 2024-03-11 12:20:31 发布
这篇博客介绍了如何通过递归方法计算斐波那契数列的当前值,并展示了一个函数用于打印从1到指定值的斐波那契数列。在打印过程中,博主强调了在循环中重置变量的重要性,以避免数值计算错误。
498

被折叠的 条评论
为什么被折叠?



