Числа фибоначчи это числовая последовательность в которой первые 2 числа единицы, а каждое последующее равно сумме двух предыдущих. дано натуральное число n . найти два ближайших к нему числа фибоначчи. одно из них меньше n другое больше n. вывести их в порядке возрастания
Var
n,i,FibPre,FibPost,Fib1,Fib2:integer;
begin
readln(n);
Fib1:=1;
Fib2:=1;
while (n>=Fib1) and (n>=Fib2) do
begin
if Fib1<n then FibPre:=Fib1;
if Fib2<n then FibPre:=Fib2;
Fib1:=Fib1+Fib2;
Fib2:=Fib1+Fib2;
end;
if Fib1=n then FibPost:=Fib2 else
if n>Fib1 then FibPost:=Fib2 else FibPost:=Fib1;
if n=1 then writeln('Нет числа Фибоначчи меньше 1 ',FibPost) else writeln(FibPre,' ',FibPost);
end.
Пример ввода:
3
Пример вывода:
2 5