Нужна программа ** Pascal. Через рекурсию. Даны натуральные числа a и b. Определить,...

0 голосов
35 просмотров

Нужна программа на Pascal. Через рекурсию.

Даны натуральные числа a и b. Определить, могут ли эти числа быть соседними членами последовательности Фибоначчи.


Информатика (67 баллов) | 35 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.0, сборка 1088
function Fib(n:integer):longint;
begin
  if n<3 then Fib:=1 else Fib:=Fib(n-2)+Fib(n-1)<br>end;

var
  a,b,f,mn:longint;
  i:integer;
begin
  Write('Введите а и b: '); Read(a,b);
  if a  i:=1;
  repeat
    f:=fib(i); Inc(i);
  until f>=mn;
  if f=mn then begin
    if a=mn then mn:=b else mn:=a;
    if fib(i)=mn then Writeln('Соседние числа Фибоначчи')
    else Writeln('Меньшее - число Фибоначчи, большее - не его сосед')
    end
  else Writeln('Меньшее - не число Фибоначчи, работа закончена')
end.

Тестовые решения:
Введите а и b: 610 987
Соседние числа Фибоначчи

Введите а и b: 500 250
Меньшее - не число Фибоначчи, работа закончена

Введите а и b: 610 830
Меньшее - число Фибоначчи, большее - не его сосед

(142k баллов)