ホームページ  >  に質問  >  本文

php - 一道算法题求解!关于Fibonacci数


求大神帮忙,我连题目都看不懂,不知道题目要求的结果到底是什么?

PHP中文网PHP中文网2772日前327

全員に返信(6)返信します

  • 高洛峰

    高洛峰2017-04-11 10:37:33

    样例输入:
    3----共有三组测试数据,分别是1,3,5
    1----第一组测试数据,输出Fibonacci数组第1个数
    3----第一组测试数据,输出Fibonacci数组第3个数
    5----第一组测试数据,输出Fibonacci数组第5个数
    
    样例输出:
    1----第一组测试数据结果:Fibonacci数组第1个数的值为1
    2----第一组测试数据结果:Fibonacci数组第3个数的值为2
    5----第一组测试数据结果:Fibonacci数组第5个数的值为5
    

    题意就是这样

    返事
    0
  • PHP中文网

    PHP中文网2017-04-11 10:37:33

    每一个数都是前两个数之和。。你哪里不理解?
    或者百度菲波那切数列。

    返事
    0
  • 黄舟

    黄舟2017-04-11 10:37:33

    题意是,我假设你已经写好了获取Fibonacci数列的函数。

    然后例子的输入是3,1,3,5,第一个3的意思是总共3组测试数据。然后后面的就是测试数据,要求你输出Fibonacci数列第一个,第三个,第五个数。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-11 10:37:33

    python3

    >>> def fib(n):
        if n<0: return None
        if n<=1: return (0,1)[n]
        a,b = 0,1
        for i in range(n-1):
            a, b = b, a+b
        return b
    
    >>> fib(9) # 第九个 Fibonacci 数
    34

    返事
    0
  • 高洛峰

    高洛峰2017-04-11 10:37:33

        斐波那契PHP实现
        function fibonacci($n){
            if($n == 1 || $n == 2)
                return 1;
            else
                return fibonacci($n - 1) + fibonacci($n - 2);
        }

    其他的程序逻辑控制下就ok了

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 10:37:33

    样例输入 样例输出
    3 表示 后面有三个测试数据
    1 返回第一个Fibonacc数 1 第一个Fibonacc数为1
    3 返回第三个Fibonacc数 2 第三个Fibonacc数为2
    5 返回第五个Fibnoacc数 5 第5个为5

    其实就是计算第N个Fibnoacc数是多少的算法题。那个输入的第一个参数对于算法没啥具体意义。

    这样子就简单了

    def getB(n):

    if n<=2:
        return 1
    one=two=1
    for i in range(3,n+1):
        two,one=one+two,two
    return two
    

    返事
    0
  • キャンセル返事