Алгоритмы вычисления значения функций и
где n — целое число, заданы следующими соотношениями:
при
если
при
если
Чему равно значение выражения
Приведём решение на языке Python.
from functools import *
@lru_cache()
def f(n):
if n <= 7:
return n
else:
return g(n - 3) * 3
@lru_cache()
def g(n):
if n <= 7:
return n
else:
return g(n - 1) + 4
for n in range(43000 + 1):
g(n)
f(n)
print(f(43000))
Ответ: 515 901.
Приведём решение Полины Егрушовой на языке Python.
f=[0]*100000
g=[0]*100000
for n in range (1,len(g)):
if n<=7:
g[n]= n
else:
g[n]=g[n-1]+4
for n in range (1,len(f)):
if n<=7:
f[n]= n
else:
f[n]= g[n-3]*3
print(f[43000])
Приведём решение Юрия Красильникова на языке Python.
g={}
for n in range(43000): g[n] = n if n<= 7 else g[n-1]+4
print(g[43000-3]*3)

