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

Ответы 4

  • Var i,n:integer; Fib,Pre:array[1..2] of integer;beginreadln(n);if n=1 then writeln('нет меньше 1, 2') else begin Fib[1]:=1; Fib[2]:=1; i:=1; while (Fib[2]<=n) and (Fib[1]<=n) do begin Pre[i mod 2+1]:=Fib[i mod 2+1]; Fib[i mod 2+1]:=Fib[1]+Fib[2]; if (Fib[i mod 2+1]<=n) and (Fib[1]+Fib[2]>n) then if Fib[i mod 2+1]=n then
    • Автор:

      nonausul
    • 5 лет назад
    • 0
  • VAR Fib1,Fib2,n,FibPrev,point:integer;beginreadln(n);Fib1:=1;Fib2:=1;while (n>Fib1) and (n>Fib2) do begin if Fib1+Fib2>=n then begin FibPrev:=Fib2; point:=1; break; end; Fib1:=Fib1+Fib2; if Fib1+Fib2>=n then begin FibPrev:=Fib1; point:=2; break; end; Fib2:=Fib1+Fib2; end;writeln(FibPrev);
    • Автор:

      arnavgrcb
    • 5 лет назад
    • 0
  • if Fib1+Fib2<>n then writeln(Fib1+Fib2) else begin if point=1 then Fib1:=Fib1+Fib2 else Fib2:=Fib2+Fib1; writeln(Fib1+Fib2); end;end.
  • //PascalABC.NET 3.2 сборка 1318Var  n,i,FibPre,FibPost,Fib1,Fib2:integer;beginreadln(n);Fib1:=1;Fib2:=1;while (n>=Fib1) and (n>=Fib2) dobegin  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 elseif n>Fib1 then FibPost:=Fib2 else FibPost:=Fib1;if n=1 then writeln('Нет числа Фибоначчи меньше 1 ',FibPost) else writeln(FibPre,' ',FibPost);end.Пример ввода:3Пример вывода:2 5
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years