Составить алгоритм и написать программу на языке 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)?

svesda2 svesda2    3   01.07.2019 07:40    0

Ответы
senazubik63kfkd senazubik63kfkd  24.07.2020 17:47
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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика