Помощь - Поиск - Пользователи - Календарь
Полная версия: Фибоначчи
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
yar
Вот такая задчка. Я её замутил сам, не знаю, как-то не красиво, и хочу что бы мне вы подсказали самое рациональное решение smile.gif
Так вот. Дана последовательность чисел Фибоначчи (1,1,2,3,5,8,13,21, .... )
 Найти значение элемента по его номеру (например №6 - восемь)
Заранее благодарен.  ;D
pascal65536
число Фиббоначи можно задать не только через сумму двух предыдущих членов, но и через формулу... к сожалению сейчас я её не вспомню sad.gif
mj
Это получается фрактал.
trminator
Вот тут у меня что-то написано... не знаю - оно, не оно... лучше не нашел
ФОРМУЛА Бинэ
                               1                                 1+sqrt(5)                                                    1-sqrt(5)
Un=-------((-------------)n-(------------)n
                   sqrt(5)         2                                                                                                     2

(замучился это писать... хуже всего подбирать кол-во пробелов...
AGPA
Я где-то в книге по С ++ видел прогу вычисления n-ного члена ряда Ф...Первые 3 елемента задаются вручную - остальные - с помощю рекурсии. Найду - допишу. Кстати, книга : Jessy Liberty "C++ за 21 день". Главное ведь - алгоритм  ;)
Lord_of_Dark
AnKoR, сделай так:

{$N+}
var i, max: longint;
     a: array[0..1] of extended;
begin
readln( max );
a[1]:= 1;
a[0]:= 1;
for i:= 1 to ( max - 2 ) do if odd( i ) then a[1]:= a[1] + a[0] else a[0]:= a[1] + a[0];
write( a[max mod 2] );
readln
end.

Сам не компилил, но идти должно...
KLIM
uses crt;
var
n:array[1..100] of longint;
x,y:integer;
begin
clrscr;
writeln('введите номер');
readln(y);
n[1]:=0;
n[2]:=1;
for x:=3 to y do
begin
n[x]:=n[x-1]+n[x-2];
end;
writeln('число ',n[x]);
repeat until keypressed;
end.
(не компилировал)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.