Fibonacci序列 - PHP最短代码可能

时间:2015-04-16 17:48:56

标签: php

我花了一些时间尝试将Fibonacci序列执行到500个数字并以尽可能短的代码输出到屏幕。这对我来说是一次学习练习。

我已经将它从21行缩减到12行,这是我能编写的最短代码,这使得这个工作。任何人都可以告诉我如何让代码更短?

我已经在google上查找了PHP循环,而while循环似乎效果最好。 PHP中是否还有其他数学技巧可以用来压缩它?

通常当我问一个问题时,我想展示我对这个问题做了哪些研究,但由于我不知道任何关键字要查找更好的数学或循环,我不知道该搜索什么..

代码:

$counter = 0;
$first = 1;
$second = 1;
echo $first."<br/>";
echo $second."<br/>";
while ($counter < 500) {
  $next = $first + $second;
  echo $next."<br/>";
  $counter++;
  $second=$first;
  $first=$next;
}

1 个答案:

答案 0 :(得分:4)

对最短代码的研究被称为&#34;代码高尔夫&#34;并且有whole stack exchange site致力于它。

特别是,您的问题已经回答here

代码是:

<?for($a=$b++;;$b+=$a=$b-$a){echo$a;}

这适用于:

  • 删除空格(无论如何都被忽略)(化妆品)
  • 赋予变量毫无意义的名称(不会影响输出)(化妆品)
  • 滥用各种语言功能,例如隐式初始化为零和多个分配
  • 多重赋值技巧可让您使用两个变量而不是三个(不需要&#34;当前数字&#34;)利用赋值顺序