Алгоритм вычисления значения функции , где
— целое неотрицательное число, задан следующими соотношениями:
,
,
,
, при
4 » class=»math» src=»/images/inform/quest/quest-3348-8.svg» width=»auto»> и
кратном 3
, при
4 » class=»math» src=»/images/inform/quest/quest-3348-11.svg» width=»auto»> и
некратном 3
Вычислите минимальное , при котором у
в 16 системе счисления последняя цифра равна F, а также при котором сумма цифр
будет кратна 21, а результат выполнения функции
будет иметь в своем составе более четырех цифр 2.
def f(n):
if n in [1, 2, 3, 4]:
return n
if n > 4 and n % 3 == 0:
return n + f(n / 3)
if n > 4 and n % 3 != 0:
return n ** 3 — f(n — 1) + n
def summa(n):
s, ans = n, 0
while s > 0:
ans += (s % 10)
s //= 10
return ans
for i in range(1, 1000000):
s = f(i)
if summa(s) % 21 == 0 and str(s).count(’2’) > 4 and i % 16 == 15:
print(i, s)
break
if n in [1, 2, 3, 4]:
return n
if n > 4 and n % 3 == 0:
return n + f(n / 3)
if n > 4 and n % 3 != 0:
return n ** 3 — f(n — 1) + n
def summa(n):
s, ans = n, 0
while s > 0:
ans += (s % 10)
s //= 10
return ans
for i in range(1, 1000000):
s = f(i)
if summa(s) % 21 == 0 and str(s).count(’2’) > 4 and i % 16 == 15:
print(i, s)
break
Ответ: 18399