m0_67720242 2022-03-06 14:29 采纳率: 50%
浏览 23
已结题

利用while编写斐波那契数列

麻烦请教如何仅使用2个储存变量利用while编写斐波那契数列 希望大家可以将不好理解的地方给予解释 我很多基础的东西都忘记了 麻烦大家指点一下

img

img

  • 写回答

1条回答 默认 最新

  • £漫步 云端彡 2022-03-06 16:12
    关注

    图片上的问题是fb没有给初始值,所以编译器会报错。两个变量计算第n个斐波那契数的逻辑如下:
    second = first+second;first = second - first;比如前三个:1,1,2。
    首先first=1,second=1是,计算第三个数的过程:

    1. 将first+second 赋值新的second,此时second相当于向后移动一位,second = 2;
    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));
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月14日
  • 已采纳回答 3月6日
  • 创建了问题 3月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 如何实现统一的请求异常信息提示?