Алгоритм вычисления значения функции , где
— целое неотрицательное число, задан следующими соотношениями:
, при <img alt="n
, если
5 » class=»math» src=»/images/inform/quest/quest-3329-6.svg» width=»auto»> и кратно 3
, если
5 » class=»math» src=»/images/inform/quest/quest-3329-8.svg» width=»auto»> и некратно 3
Чему равна сумма четных цифр числа, полученного при выполнении вызова ?
Примечание: знак «/» обозначает целочисленное деление.
def f(n):
if n < 6:
return 2 * n + 1
if n > 5 and n % 3 == 0:
return 2 * f(n — 1) + f(n // 2) + n
if n > 5 and n % 3 != 0:
return 2 * n * n + f(n — 1) + f(n // 2)
s = str(f(85))
summa = 0
for i in s: summa += int(i) * (int(i) % 2 == 0)
print(summa)
### Как вычислить по-умному:
ans = 0
res = f(85)
while res > 0:
ans += ((res + 1) % 2) * (res % 10)
res //= 10
print(ans)
if n < 6:
return 2 * n + 1
if n > 5 and n % 3 == 0:
return 2 * f(n — 1) + f(n // 2) + n
if n > 5 and n % 3 != 0:
return 2 * n * n + f(n — 1) + f(n // 2)
s = str(f(85))
summa = 0
for i in s: summa += int(i) * (int(i) % 2 == 0)
print(summa)
### Как вычислить по-умному:
ans = 0
res = f(85)
while res > 0:
ans += ((res + 1) % 2) * (res % 10)
res //= 10
print(ans)
Ответ: 24