Показать сообщение отдельно
Старый 22.08.2007, 08:33   #64 (Ссылка на пост)
D.K.
Что-то высматривает
Пол:
 
Активность Longevity
0/20 17/20
Today Сообщения
0/5 ssssss253
Благодарил(а): 0
Благодарили 139 раз в 80 постах
Галерея: 0
Вес репутации: 19 D.K. станет скоро известным
>ыыы чуваги а посерьезней чисел фибоначчи есть что-то ?

а вы вначале предложите нормальную реализацтию фибоначи
с 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.
__________________
"...is nothing to the pain I can cause in your own mind" (Dargent Peytraud © The Serpent and the Rainbow)

"What's the matter, kid? Don't ya like clowns?...Why? Don't we make ya laugh? Aren't we fuckin' funny? You best come up with an answer, cos I'm gonna come back here and check on you and your momma and if you ain't got a reason why you hate clowns, I'm gonna kill your whole fucking family" (Captain J.T. Spaulding © The Devil's Reject)
D.K. вне форума  
Ответить с цитированием