Составить алгоритм и написать программу на языке Pascal: Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями: F(n) = F(n-1)+ F(n/2), при n больше 1 и n кратно 2 F(n)=f(n-1) + F...
Составить алгоритм и написать программу на языке 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)?
Ответ(ы) на вопрос:
[latex]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}[/latex]
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
Не нашли ответ?
Похожие вопросы