>ыыы чуваги а посерьезней чисел фибоначчи есть что-то ?
а вы вначале предложите нормальную реализацтию фибоначи
с memorize, матрицами и т.п. динамическим програмированием
я в принципе небуду заморачиватся и юзаю прямую формулу вывода n-го члена, впрочем и моя реализация далеко не самая оптимальная, но на несколько порядков лучше рекурсивной и на пару порядков итеративной
ибо возведение в степень по некоторым причинам имеет время вычисления не меньше log2N, а стремится надо к logN
Код:
program Fib01;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
n : Integer;
Fn : Extended;
Fi_p, fi_n : Real;
begin
Write('Give me "n" pal : = ');
try
Readln(n);
try
Fi_p := 0.5 * (1 + sqrt(5)); // золотое сечение
fi_n := 0.5 * (1 - sqrt(5)); // -1/золотое сечение
Fn := (1/sqrt(5))*(Math.Power(Fi_p, n) - Math.Power(fi_n, n)); // выведенная методом индукции Эйлером (Бине)
except
on E:Exception do Exit;
end;
except
on E:EInOutError do begin
Writeln('You motherfucker, give me number next time');
Write('Press "Enter" to exit...');
Readln;
Exit;
end;
end;
Writeln('Fn(' + IntToStr(n) + ')' + '= ' + FloatToStr(Fn));
Write('Press "Enter" to exit...');
Readln;
end.