Program Fibonacci;
Uses Crt;
var i,n:integer;
{Итерационный метод вычисления чисел Фибоначчи}
function fib_it(n:integer):integer;
var a,b,c,i:integer;
begin
a:=1;b:=1;
if (n=1) or (n=2) then fib_it:=1
else begin
for i:=3 to n do
begin
c:=a+b;
a:=b;
b:=c;
end;
fib_it:=c;
end;
end;
{main program}
begin
clrscr;
write('Введите n: ');
readln(n);
for i:=1 to n do write(fib_it(i),' ');
readkey;
end.
Объяснение:
1)У тебя спрашивают b=1? У тебя дано b=3, значит b!=1. Если нет, то переходим к следующим указаниям: с=с-b=4-3=1, b=b+c=3+1(Потому что в предыдущем шаге мы дали новое значение для c, вернее произвели математическую операцию с ним. Возвращаемся(Слева линия) снова к логическому условию. Я честно говоря ХЗ, что они тут имели ввиду, но после того, что я описал c=1,но если мы продолжим проверку b=1, то c начнет принимать отрицательные значения. Цикл вышел, как мне кажется.
Теперь мне лень расписывать - держи фото/скрины
Не знаю, что у тебя за язык программирования, но я сделал тоже самое на Python, вроде результат отличатся не должен.
