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