Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями: F(1) = 1
F(n) = F(n–1) + 2n–1 , если n > 1.
Чему равно значение функции F(10)?
В ответе запишите только натуральное число.
На python таким циклом не решается - выдаёт ошибку. Хэлп!
def F(n):
if (n == 1):
return F(1)
else:
if 1 < n:
return (F(n-1) + 2**(n-1))
print(F(10))
(см. объяснение)
Объяснение:
Данная задача решается быстро как программным методом, так и руками.
Приведу решение на языке PascalABC.NET:
##
function F(n: integer): integer;
begin
if(n=1) then F:= 1
else if(n>1) then F:= F(n-1)+Integer.Parse(power(2,n-1)+'');
end;
print(F(10));
Программа прекрасно работает, выводя на экран число 1023.
Задание выполнено!