麻烦请教如何仅使用2个储存变量利用while编写斐波那契数列 希望大家可以将不好理解的地方给予解释 我很多基础的东西都忘记了 麻烦大家指点一下
1条回答 默认 最新
- £漫步 云端彡 2022-03-06 16:12关注
图片上的问题是fb没有给初始值,所以编译器会报错。两个变量计算第n个斐波那契数的逻辑如下:
second = first+second;first = second - first;比如前三个:1,1,2。
首先first=1,second=1是,计算第三个数的过程:- 将first+second 赋值新的second,此时second相当于向后移动一位,second = 2;
- second此时前一个数值等于当前second-first=2-1=1;将此值赋值于first;
此后相当于first,second各向后推一位。循环此步骤,就能求解第n个值。
public static int fb(int n) { int i = 0, first = 0, second = 1; while (i < n-1) { second = first+second; first = second - first; i++; } return second; } public static void main(String[] args) { System.out.println(fb(6)); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?