输入n,返回斐波那契数列的前n个数,要求用yield实现。

PHP 算法面试题
1
-3
分享
推荐答案
展示答案

<?php function fibonacci($n) {     $a = 0; //第1个数     $b = 1; //第2个数     if ($n >= 1) {         //当n>=1时,输出第1个数         yield $a;     }     if ($n >= 2) {         //当n>=2时,输出第2个数         yield $b;     }     for ($i = 3; $i <= $n; $i++) {         //当n>=3时,每一项都是前两个数之和         $c = $a + $b;         yield $c;         $a = $b;         $b = $c;     } } foreach (fibonacci(10) as $value) {     echo $value, PHP_EOL; }

答案已隐藏