Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия, Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Описать нерекурентную функцию Fib(N) целого типа, вычисляющую N-е число Фибоначчи F(N) по формуле: F(1)=F(2), F(K)=F(K-2)+F(K-1), K=3,4,.... С помощью этой функциивычислить 10 чисел Фибонначи с указанными номерами.
Вот наработа
program fib; Const N=5; var i, kol :integer;
Function Fib(n:integer):integer; begin if (n=1) or (n=2) then Fib:=1 else begin Fib :=Fib(n-1) + Fib(n-2);
end; kol:=kol+1; end;
BEGIN
for i:= 1 to N do begin kol :=0; read(i); Write(i, ' chislo Fibonachi ' , Fib(i)); writeln(' Kolichestvovo vizovov' , kol); end; END.
Другими словами, надо разработать итерационный алгоритм вычисления числа Фибоначчи.
i
Дубли темы удалены
Для оформления кода программы пользуйтесь тегом syntax: topic26708.html
stas_ogl
Re: Помогите с фибоначи
24.06.2010, 13:58
Используй формулу Бине .
Roman Voznyuk
Re: Помогите с фибоначи
24.06.2010, 15:08
Цикл, где на кажом шаге используются значения, сохраненные с предыдущих шагов.
coolmarat
Re: Помогите с фибоначи
27.06.2010, 08:58
function Fib(N: integer): integer; label ToEnd; var f1,f2,f3, i, res: integer; begin if n=1 then begin res:=0; goto ToEnd; end; if n=2 then begin res:=1; goto ToEnd; end; f1:=0; f2:=1; for i:=2 to n do begin res:=f1+f2; f1:=f2; f2:=res; end; ToEnd: fib:=res; end;
Toucan
Re: Помогите с фибоначи
27.06.2010, 10:45
!
coolmarat, предупреждение за размещения решения простой учебной задачи.