Паскаль: 43 - Рекурсивные алгоритмы что знаете, хотя бы на 3 задания 2. Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(0) = 1, F(1) = 1
F(n) = F(n-1)+F(n-2), при n > 1
Чему равно значение функции F(7)?
3. Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(0) = 1, F(1) = 1
F(n) = F(n-1)*F(n-2)+2, при n > 1
Чему равно значение функции F(5)?
5. Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln('*');
if n > 0 then begin
F(n-2);
F(n-2);
F(n div 2);
end
end;
Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(6)?
6. Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln('*');
if n > 0 then begin
F(n-3);
F(n-2);
F(n div 2);
F(n div 2);
end
end;
Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(6)?
7. Дан рекурсивный алгоритм:
procedure F(n: integer);
begin
writeln('*');
if n > 0 then begin
writeln('*');
F(n-2);
F(n-2);
F(n div 2);
end
end;
Сколько символов "звездочка" будет напечатано на экране при выполнении вызова F(6)?

PomogyBratan PomogyBratan    2   02.02.2021 11:11    18

Ответы
SosaLegor312lok SosaLegor312lok  04.03.2021 11:14

Задание 2.

program prog;

function F(n:integer):integer;

begin

   if n<=1 then F:=1

   else F:=F(n-1)+F(n-2)

end;

begin

   write(F(7))

end.

Вывод программы: 21

Задание 3.

program prog;

function F(n:integer):integer;

begin

   if n<=1 then F:=1

   else F:=F(n-1)*F(n-2)+2

end;

begin

   write(F(5))

end.

Вывод программы: 87

Задание 5.

program prog;

procedure F(n:integer);

begin

   write('*');

   if n > 0 then begin

       F(n-2);

       F(n-2);

       F(n div 2);

   end

end;

begin

   F(5);

end.

Вывод программы (34 звёздочки):

Задание 6.

program prog;

procedure F(n: integer);

begin

   write('*');

   if n > 0 then begin

       F(n-3);

       F(n-2);

       F(n div 2);

       F(n div 2);

   end

end;

begin

   F(6);

end.

Вывод программы (97 звёздочек):

Задание 7.

program prog;

procedure F(n: integer);

begin

   write('*');

   if n > 0 then begin

       write('*');

       F(n-2);

       F(n-2);

       F(n div 2);

   end

end;

begin

   F(6);

end.

Вывод программы (77 звёздочек):

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика