PDA

Просмотр полной версии : Числа Фибоначчи



somewhere
26.03.2008, 13:59
Элементы числовой последовательности 1, 1, 2, 3, 5, 8,... в которых каждый последующий член равен сумме двух предыдущих называются числами Фибоначчи.
Последовательность примечательна тем, что если разделить любой член последовательности на предыдущий, то взависимости от удаленности от начала ряда отношение стремиться к иррациональному числу 1.61805...., которое называется числом "Фи" и является основой "Золотого сечения". Известно что проявление "Золотого сечения" можно наблюдать в живой природе, в том числе в геометрических пропорциях самого человека. Так же интересен факт 1/1.618.. = 0.618.., т.е. получим те же цифры дробной части. Вообщем, об этом ряде есть еще много чего интересного, но здесь важна реализация алгоритма:


Function Fibonachi(X:Byte):Longint;
var s,n1,n2: Longint;
begin
Fibonachi := 1;
If (X<3) or (X>45) then exit;
N1:=1; N2:=1;
While x > 2 do
begin
Dec(X);
S := N2+N1;
N1:= N2;
N2:= S;
end;
Fibonachi:=S;
end;

Vovchik
26.03.2008, 19:04
somewhere, но оесть одно но, в Pascal, переменая Fibonachi выдетит за Longint после 12-13 числа !!! По етому лудше испльзовать тип real а потом просто "обрубать" хвост !!!!

somewhere
26.03.2008, 19:35
Я не зря поставил проверку на 45, вы ошиблись

Vovchik
26.03.2008, 19:52
так вы поставили проверку от 4 до 44 а надо от 4 до 12 тогда подходит а иначе при вводе 20 переменая вылетит за лонг инт и покажет не то што надо !!!!

Vovchik
26.03.2008, 19:57
Уважаймый somewhere, извените я перепутал числа фибоначи с факториалом и поетому написал ерундк, это я зделал ошыбку я извеняюсь за свою не внимательность !!!!!!!