Числа фибоначчи это числовая последовательность в которой первые 2 числа единицы, а каждое последующее равно сумме двух предыдущих. дано натуральное число n . найти два ближайших к нему числа фибоначчи. одно из них меньше n другое больше n. вывести их в порядке возрастания

anastasiia08052 anastasiia08052    3   06.08.2019 07:30    0

Ответы
AbstergoAlexander AbstergoAlexander  25.08.2020 20:25
//PascalABC.NET 3.2 сборка 1318

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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика