В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
iriska198501
iriska198501
19.08.2020 00:41 •  Информатика

Нужна программа на pascal. через рекурсию. даны натуральные числа a и b. определить, могут ли эти числа быть соседними членами последовательности фибоначчи.

Показать ответ
Ответ:
Аминишка
Аминишка
03.10.2020 01:13
// 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 Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота