java求斐波那契数列 待我称王封你为后i 2023-07-15 02:48 19阅读 0赞 前几天一个银行笔试题,求斐波那契,写了一半忽然忘了咋写,学c语言时候没注意这道题,至今还记得c语言实验课考试第一道就是求斐波那契,当时考试前一天刚好看完这个然后学会,课本上是用递归求的,所以印象比较深。 这次考试提交时候又习惯性的按了个ctrl+s结果是保存网页,然后按esc取消保存,按的多了又直接退出考试,写的代码没保存。考完重新写了下,随便输了个求60的结果,半天不出结果,以为代码写错了没有输出,然后输了个10、20进去一下就求出来了。 最后尝试到48发现速度会变慢很多。 原因是用递归,求48,会进行2的n次方次运算,这个运算量特别大,大到什么程度? 国王和大臣下棋的那个故事,大臣赢了就给放满棋盘格子的米,每个棋盘按2的n次方放米,棋盘一共64个格子,然后国王国库的米都不够了。 所以,求斐波那契就是递归的一个反例,最好的办法是用for循环,怎么循环? 如下关键代码: b = a+b; a = b-a; 全部代码: package led; public class FeiBNQ { public static void main(String[] args) { System.out.println(g(5000)); } public static long g(int n) { long a = 1; long b = 1; if (n==1 || n==2) { a = 1; b = 1; } for (int i = 3; i <= n; i++) { b = a+b; a = b-a; } return b; } // 递归调用到48以上会耗时很长,推荐使用for循环 // public static long f(int a) { // if (a==1 || a==2) { // return 1; // } // return f(a-1)+f(a-2); // } }
相关 java求斐波那契数列 前几天一个银行笔试题,求斐波那契,写了一半忽然忘了咋写,学c语言时候没注意这道题,至今还记得c语言实验课考试第一道就是求斐波那契,当时考试前一天刚好看完这个然后学会,课本上是用 待我称王封你为后i/ 2023年07月15日 02:48/ 0 赞/ 20 阅读
相关 斐波那契数列 斐波那契数,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2, Love The Way You Lie/ 2022年11月19日 04:15/ 0 赞/ 308 阅读
相关 斐波那契数列 // 斐波那契数列.cpp : 定义控制台应用程序的入口点。 // \include "stdafx.h" \include<iostream> usin 谁践踏了优雅/ 2022年08月23日 14:45/ 0 赞/ 150 阅读
相关 斐波那契数列 关于斐波那契数列的解法,本人找到了一种比较简单的方法,结果是正确的,不知道各位有没有另外更好的解法,一起探讨探讨。 import java.util.; pu ╰+攻爆jí腚メ/ 2022年08月01日 12:15/ 0 赞/ 475 阅读
相关 斐波那契数列 定义:斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列从第三项开始,每一项都等于前两项之和。 矫情吗;*/ 2022年07月13日 04:49/ 0 赞/ 379 阅读
相关 斐波那契数列 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597, 冷不防/ 2022年07月13日 03:19/ 0 赞/ 406 阅读
相关 斐波那契数列 class FibIter(object): def __init__(self, lenth): self.lent 一时失言乱红尘/ 2022年05月27日 13:51/ 0 赞/ 407 阅读
相关 斐波那契数列 include<iostream> using namespace std; int fibonacci1(int t) { if(t 古城微笑少年丶/ 2022年05月09日 08:58/ 0 赞/ 379 阅读
相关 斐波那契数列 ![1234096-20171112230708606-1911525192.png][] 转载于:https://www.cnblogs.com/ostrich-sugar た 入场券/ 2022年01月06日 23:41/ 0 赞/ 497 阅读
还没有评论,来说两句吧...