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

Pascal напишите рекурсивную процедуру нахождения первых n чисел фибоначчи. каждое число фибоначчи равно сумме двух предыдущих чисел при условии, что первые два равны 1 (1, 1, 2, 3, 5, 8, 13,

Показать ответ
Ответ:
makstaira2203
makstaira2203
01.09.2020 17:15
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программа не работает, обновите версию!

procedure Fib(n:integer; var r:sequence of integer);
begin
  if n<1 then exit; // нечего глупости задавать
  case n of
  1: r:=Seq(1);
  2: r:=Seq(1,1);
  else begin
    r:=Seq(1,1);
    var (p1,p2):=(1,1);
    var p:integer;
    loop n-2 do begin
      p:=p1+p2;
      r:=r+Seq(p);
      (p1,p2):=(p2,p)
      end
    end
  end
end;
   
begin
  var s:sequence of integer;
  var n:=ReadInteger('n=');
  Fib(n,s);
  s.Println
end.

Пример
n= 8
1 1 2 3 5 8 13 21
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота