Задания
Версия для печати и копирования в MS Word
Тип 16 № 81800
i

Ал­го­ритм вы­чис­ле­ния функ­ций F(n) и G(n), где n  — целое число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n)  =  2 · (G(n − 3) + 8);

G(n)  =  2 · n, если n < 10;

G(n)  =  G(n − 2) + 1, если n ≥ 10.

 

Чему равно зна­че­ние вы­ра­же­ния F(15 548)?

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние на языке Python.

G = {}

for n in range(10**5):

if n < 10:

G[n] = 2 * n

else:

G[n] = G[n - 2] + 1

print(2 * (G[15548 - 3] + 8))

 

Ответ: 15 588.

 

При­ведём ре­ше­ние Алек­сандра Коз­ло­ва на языке Python.

def G(n):

if n < 10:

return 2 * n

result = 0

while n >= 10:

result += 1

n -= 2

return result + 2 * n

def F(n):

return 2 * (G(n - 3) + 8)

print(F(15548))

 

При­ведём ре­ше­ние Алек­сандра Коз­ло­ва на языке Python.

from functools import *

@lru_cache(1000)

def g(n):

if n<10:

return 2*n

if n>=10:

return g(n-2)+1

for n in range(10,15500):

g(n)

print(2*(g(15545)+8))

 

При­ведём ре­ше­ние Алек­сандра Коз­ло­ва на языке Python.

def G(n):

if n < 10:

return 2 * n

k = (n - 9) // 2

m = n - 2 * k

return 2 * m + k

print(2 * (G(15548 - 3) + 8))

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ−2026 по ин­фор­ма­ти­ке