Нужна программа на pascal. через рекурсию. даны натуральные числа a и b. определить, могут ли эти числа быть соседними членами последовательности фибоначчи.
// 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) end;
var a,b,f,mn:longint; i:integer; begin Write('Введите а и b: '); Read(a,b); if a<b then mn:=a else mn:=b; 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 Меньшее - число Фибоначчи, большее - не его сосед
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку