for (int i = 3; i < date; i++) {
int f3;
f3 = f2;
f2 = f1 + f2;
f1 = f3;
System.out.println("第" + i + "月的兔子数量是:" + f2);
}
我这样写的一串判断,为什么 f1 = f3; f3=f1就不行吗,能讲解下吗
古典问题,斐波那契兔子的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 f3是作为临时变量的,只在for循环中使用,f1,f2记录前两轮计算的结果,而且需要考虑int长度不足问题,建议使用long类型。
完整的代码示例:public static long fabonacci(int date){ long f1 = 0; long f2 = 1; for (int i = 3; i <= date; i++) { long f3; f3 = f2; f2 = f1 + f2; f1 = f3; System.out.println("第" + i + "月的兔子数量是:" + f2); } return f2; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 merge函数占用内存过大
- ¥15 Revit2020下载问题
- ¥15 使用EMD去噪处理RML2016数据集时候的原理
- ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
- ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
- ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
- ¥15 如何在炒股软件中,爬到我想看的日k线
- ¥15 seatunnel 怎么配置Elasticsearch
- ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
- ¥15 (标签-MATLAB|关键词-多址)