1000 位斐波那契数
作者:Flavio Poletti
https://projecteuler.net/problem=25
斐波那契数列由以下递归关系定义
Fn = Fn1 + Fn2,其中 F1 = 1 且 F2 = 1。因此前 12 项将是
F1 = 1 F2 = 1 F3 = 2 F4 = 3 F5 = 5 F6 = 8 F7 = 13 F8 = 21 F9 = 34 F10 = 55 F11 = 89 F12 = 144
第 12 项 F12 是第一个包含三位数字的项。
斐波那契数列中第一个包含 1000 位数字的项是多少?
源代码: prob025-polettix.pl
use v6; sub MAIN(Int :$length = 1000, Bool :$boring = False) { if $boring { my ($x, $y, $c) = (1, 1, 2); ($x, $y, $c) = ($y, $x + $y, $c + 1) while $y.chars < $length; $c.say; return; } my @fibs = 0, 1, *+* ... *; ((1..*).grep:{@fibs[$_].chars == $length})[0].say; return; }