Составить алгоритм и написать программу на языке Pascal: Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(n) = F(n-1)+ F(n/2), при n>1 и n кратно 2 F(n)=f(n-1) + F(n-2) , при n >1 и n не кратно 2 F(1)=1 Чему равно значение функции F(8)?

F=begin {cases} 1,  n=1  F(n-1)+F(n/2),  n=2,4,6,... 2k  F(n-1)+F(n-2), n=3,5,7... 2k+1 end {cases}

function F(n:integer):integer;
begin
  if n=1 then F:=1
  else
    if (n mod 2)=0 then F:=F(n-1)+F(n div 2)
    else F:=F(n-1)+F(n-2)
end;

begin
  Writeln(F(8)=,F(8))
end.

Результат выполнения программы:
F(8)=24


Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку