№16 — примеры решений
Один эталонный разбор.
Условие
Алгоритм вычисления функций F(n) и G(n), где n - целое число, задан следующими соотношениями:
F(n) = F(n − 4) + 3580, если n ≥ 19;
F(n) = 6 × (G(n − 7) − 36), если n < 19;
G(n) = n/20 + 28, если n ≥ 248045;
G(n) = G(n + 9) − 4, если n < 248045.
Чему равно значение функции F(673)?
В ответе запишите целую часть полученного числа.
Решение
def g(n):
steps = (248045 - n + 8) // 9 if n < 248045 else 0
n_end = n + 9 * steps if n < 248045 else n
return n_end / 20 + 28 - 4 * steps
def f(n):
k = (n - 15) // 4
n0 = n - 4 * k
return int(6 * (g(n0 - 7) - 36) + 3580 * k)
print(f(673))
Ответ:47
📚
Все задачи с разбором
106
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n × F(n − 1), если n > 1.
Чему равно значение выражения (F(2024) − 5 × F(2023)) / F(2022)?
В ответе запишите целую часть полученного числа.
Решение
# F(n)=n!, F(2024)-5*F(2023)=(2024-5)*F(2023)=2019*2023*F(2022)
# (F(2024)-5*F(2023))//F(2022) = 2019*2023
print(2019 * 2023)
Ответ:4084437
Условие
Алгоритм вычисления значения функции F(n), где n — целое число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n * F(n − 1) при n > 1.
В ответе запишите целую часть полученного числа.
Чему равно значение выражения (F(2024) − 2 * F(2023)) / F(2022)?
В ответ запишите целую часть полученного числа
Решение
# F(n)=n!, F(2024)-2*F(2023)=(2024-2)*F(2023)=2022*2023*F(2022)
# result = 2022*2023
print(2022 * 2023)
Ответ:4090506
Условие
Алгоритм вычисления значения функции 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(15548)?
Решение
g = {}
for n in range(16000):
if n < 10:
g[n] = 2 * n
else:
g[n] = g[n - 2] + 1
print(2 * (g[15545] + 8))
Ответ:15588
Условие
Алгоритм вычисления значения функции 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(15548)?
Решение
g = {}
for n in range(16000):
if n < 10:
g[n] = 2 * n
else:
g[n] = g[n - 2] + 1
print(2 * (g[15545] + 8))
Ответ:15588
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями: F(n) = 1 при n = 1; F(n) = n × F(n − 1), если n > 1.
В ответе запишите целую часть полученного числа.
Чему равно значение выражения (F(2024) / 4 + F(2023)) / F(2022)?
Решение
# F(n)=n!, (F(2024)/4+F(2023))//F(2022)
# = (2024*2023!/4 + 2023!)//2022! = 2023*(2024//4+1) = 2023*507
print(2023 * 507)
Ответ:1025661
Условие
Алгоритм вычисления значения функции 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(15548)?
Решение
g = {}
for n in range(16000):
if n < 10:
g[n] = 2 * n
else:
g[n] = g[n - 2] + 1
print(2 * (g[15545] + 8))
Ответ:15588
Условие
Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями:
F(n) = n при n < 20;
F(n) = (n − 6) × F(n−7), если n ≥ 20.
В ответе запишите целую часть полученного числа.
Чему равно значение выражения (F(47872) − 290 × F(47865))/F(47858)?
Решение
# F(n)=(n-6)*F(n-7), F(47872)/F(47858)=(47872-6)*(47865-6)=47866*47859
# (F(47872)-290*F(47865))//F(47858) = 47866*47859 - 290*47859 = 47859*(47866-290)
print(47859 * (47866 - 290))
Ответ:2276939784
Условие
Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями:
F(n) = n при n ≥ 2025;
F(n) = n × 2 + F(n + 2), если n < 2025.
В ответе запишите целую часть полученного числа.
Чему равно значение выражения F(82)−F(81)?
Решение
f = {}
for n in range(2026, 78, -1):
f[n] = n if n >= 2025 else n * 2 + f[n + 2]
print(f[82] - f[81])
Ответ:1945
Условие
Алгоритм вычисления значения функции F(n), где n – целое число, задан следующими соотношениями:
F(n) = n при n < 10;
F(n) = 3n + F(n − 3), если n ≥ 10.
В ответе запишите целую часть полученного числа.
Чему равно значение выражения (F(6250) + 2 × F(6244))/F(6238)? В ответе запишите целую часть полученного числа
Решение
f = {}
for i in range(10):
f[i] = i
for i in range(10, 6260):
f[i] = 3 * i + f[i - 3]
print((f[6250] + 2 * f[6244]) // f[6238])
Ответ:3
Условие
Алгоритм вычисления значения функции 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(15548)?
Решение
g = {}
for n in range(16000):
if n < 10:
g[n] = 2 * n
else:
g[n] = g[n - 2] + 1
print(2 * (g[15545] + 8))
Ответ:15588
Условие
Алгоритм вычисления значения функции F(n) и G(n), где n – целое число, задан следующими соотношениями:
F(n) = G(n − 1) + G(n − 3);
G(n) = 3 × n, если n ≤ 9.
G(n) = G(n − 4) + 2, если n > 9.
В ответе запишите целую часть полученного числа.
Чему равно значение выражения F(42999)?
Решение
g = {}
for n in range(43100):
if n <= 9:
g[n] = 3 * n
else:
g[n] = g[n - 4] + 2
print(g[42998] + g[42996])
Ответ:43032
Условие
Алгоритм вычисления значения функции, где n – натуральное число, задан следующими соотношениями:
F(n) = G(n-3)
G(n) = n при n <= 20
G(n) = G(n-2)+1 при n > 20
В ответе запишите целую часть полученного числа.
Чему равно значение функции F(25000)?
Решение
g = {}
for n in range(25100):
if n <= 20:
g[n] = n
else:
g[n] = g[n - 2] + 1
print(g[24997])
Ответ:12508
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n − 1)
G(n) = 3 × n, если n ≤ 9
G(n) = G(n − 2) + 1, если n > 9
В ответе запишите только целое число.
Чему равно значение выражения F(47995)?
В ответе запишите целую часть полученного числа.
Решение
g = {}
for n in range(48100):
if n <= 9:
g[n] = 3 * n
else:
g[n] = g[n - 2] + 1
print(g[47994])
Ответ:24017
Условие
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (n – 1) × F(n – 1), если n > 1.
В ответе запишите целую часть полученного числа.
Чему равно значение выражения (F(2024) + 2 × F(2023))/F(2022)?
Решение
# F(n)=(n-1)*F(n-1), F(2024)=2023*F(2023)=2023*2022*F(2022)
# (F(2024)+2*F(2023))//F(2022) = (2023*2022+2*2022) = 2022*(2023+2) = 2022*2025
print(2022 * 2025)
Ответ:4094550
Условие
Алгоритм вычисления функции F(n), где n — целое число, задан следующими соотношениями: F(n) = n, если n < 5; F(n) = 2n × F(n − 4), если n ≥ 5.
В ответе запишите целую часть полученного числа.
Чему равно значение функции (F(13766) − 9 × F(13762)) // F(13758)?
Решение
# F(n)=2n*F(n-4): F(13766)=2*13766*F(13762), F(13762)=2*13762*F(13758)
# (F(13766)-9*F(13762))//F(13758) = 4*13766*13762 - 9*2*13762 = 13762*(4*13766-18)
print(13762 * (4 * 13766 - 18))
Ответ:757543052
Условие
Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (3n + 5) * F(n - 1), если n > 1.
Чему равно значение выражения F(2073) / F(2070)?
В ответе запишите только целое число.
Решение
from functools import *
@lru_cache(None)
def f(n):
if n == 1:
return 1
if n > 1:
return (3 * n + 5) * f(n - 1)
for q in range(2100):
f(q)
print(f(2073) // f(2070))
Ответ:240757875872
Условие
Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (2n - 1) * F(n - 1), если n > 1.
Чему равно значение выражения F(3516) / F(3513)?
В ответе запишите только целое число.
Решение
from functools import *
@lru_cache(None)
def f(n):
if n == 1:
return 1
if n > 1:
return (2 * n - 1) * f(n - 1)
for q in range(3600):
f(q)
print(f(3516) // f(3513))
Ответ:347280657273
Условие
Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n * F(n - 1) + 1 если n > 1.
Чему равно значение выражения F(3303) / F(3300)? В ответе укажите только целую часть числа.
Решение
from functools import *
@lru_cache(None)
def f(n):
if n == 1:
return 1
if n > 1:
return n * f(n - 1) + 1
for i in range(3400):
f(i)
print(f(3303) // f(3300))
Ответ:36002376306
Условие
Алгоритм вычисления значения функции F(n), где n - натуральное число, задан следующими соотношениями:
F(n) = 1 если n < 4,
F(n) = n если n > 3 и число n нечётное,
F(n) = F(n - 1) + F(n - 2) + F(n - 3) если n > 3 и число n чётное.
Чему равно значение выражения F(2254) - F(2252)?
В ответе запишите только целое число.
Решение
from functools import *
@lru_cache(None)
def f(n):
if n < 4:
return 1
if n > 3 and n % 2 != 0:
return n
if n > 3 and n % 2 == 0:
return f(n - 1) + f(n - 2) + f(n - 3)
for i in range(2300):
f(i)
print(f(2254) - f(2252))
Ответ:4504
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (4n + 3) × F(n − 1), если n > 1.
Чему равно значение выражения F(1503) / F(1500)?
В ответе запишите только целое число.
Решение
result = 1
for i in range(1501, 1504):
result *= (4 * i + 3)
print(result)
Ответ:217190083155
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (5n − 2) × F(n − 1), если n > 1.
Чему равно значение выражения F(2002) / F(1999)?
В ответе запишите только целое число.
Решение
result = 1
for i in range(2000, 2003):
result *= (5 * i - 2)
print(result)
Ответ:1000900019952
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (2n + 7) × F(n − 1), если n > 1.
Чему равно значение выражения F(3005) / F(3003)?
В ответе запишите только целое число.
Решение
result = 1
for i in range(3004, 3006):
result *= (2 * i + 7)
print(result)
Ответ:36192255
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n × F(n − 1) + 2, если n > 1.
Чему равно значение выражения F(2503) / F(2500)? В ответе укажите только целую часть числа.
Решение
f = {1: 1}
for n in range(2, 2504):
f[n] = n * f[n-1] + 2
print(f[2503] // f[2500])
Ответ:15662527506
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (n + 1) × F(n − 1) + 1, если n > 1.
Чему равно значение выражения F(1804) / F(1801)? В ответе укажите только целую часть числа.
Решение
f = {1: 1}
for n in range(2, 1805):
f[n] = (n + 1) * f[n-1] + 1
print(f[1804] // f[1801])
Ответ:5870964660
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n < 5;
F(n) = n + 2, если n ≥ 5 и число n нечётное;
F(n) = F(n − 1) + F(n − 2) + F(n − 3), если n ≥ 5 и число n чётное.
Чему равно значение выражения F(1800) − F(1798)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return 1
if n % 2 != 0:
return n + 2
return f(n - 1) + f(n - 2) + f(n - 3)
for i in range(1900):
f(i)
print(f(1800) - f(1798))
Ответ:3600
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 2 при n < 4;
F(n) = n, если n ≥ 4 и число n чётное;
F(n) = F(n − 1) + F(n − 2) + F(n − 3), если n ≥ 4 и число n нечётное.
Чему равно значение выражения F(1705) − F(1701)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 4:
return 2
if n % 2 == 0:
return n
return f(n - 1) + f(n - 2) + f(n - 3)
for i in range(1800):
f(i)
print(f(1705) - f(1701))
Ответ:6808
Условие
Алгоритм вычисления значения функции F(n), где n — неотрицательное целое число, задан следующими соотношениями:
F(n) = 0 при n = 0;
F(n) = F(n / 2) − 2, если n > 0 и число n чётное;
F(n) = F(n − 1) + 3, если n > 0 и число n нечётное.
Сколько существует значений n, не превышающих 999, для которых F(n) = 4?
В ответе запишите только целое число.
Решение
from functools import lru_cache
d = []
@lru_cache(None)
def f(n):
if n == 0:
return 0
if n > 0 and n % 2 == 0:
return f(n // 2) - 2
if n > 0 and n % 2 != 0:
return f(n - 1) + 3
for n in range(1000):
if f(n) == 4:
d.append(n)
print(len(d))
Ответ:26
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n < 3;
F(n) = F(n − 1) + n, если n ≥ 3 и число n чётное;
F(n) = F(n − 2) + 2n + 1, если n ≥ 3 и число n нечётное.
Чему равно значение выражения F(2048) − F(2043)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 3:
return 1
if n % 2 == 0:
return f(n - 1) + n
return f(n - 2) + 2 * n + 1
for i in range(2100):
f(i)
print(f(2048) - f(2043))
Ответ:10234
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = n при n ≤ 4;
F(n) = F(n − 2) + n / 2 − F(n − 4), если n > 4 и число n чётное;
F(n) = F(n − 1) + F(n − 2) + n, если n > 4 и число n нечётное.
Чему равно значение выражения F(3200) + F(3204) − F(3208)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n <= 4:
return n
if n > 4 and n % 2 == 0:
return f(n - 2) + n // 2 - f(n - 4)
if n > 4 and n % 2 != 0:
return f(n - 1) + f(n - 2) + n
for n in range(1, 3300):
f(n)
print(f(3200) + f(3204) - f(3208))
Ответ:1597
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n ≤ 2;
F(n) = F(n − 1) + 2n, если n > 2 и число n чётное;
F(n) = F(n − 2) + 3n, если n > 2 и число n нечётное.
Чему равно значение выражения F(4096) − F(4089)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n <= 2:
return 1
if n % 2 == 0:
return f(n - 1) + 2 * n
return f(n - 2) + 3 * n
for i in range(4200):
f(i)
print(f(4096) - f(4089))
Ответ:45029
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n < 4;
F(n) = n, если n ≥ 4 и число n нечётное;
F(n) = F(n − 2) + n, если n ≥ 4 и число n чётное.
Чему равно значение выражения F(2400) − F(2396)?
В ответе запишите только целое число.
Решение
f = {}
for i in range(2410):
if i < 4:
f[i] = 1
elif i % 2 != 0:
f[i] = i
else:
f[i] = f[i - 2] + i
print(f[2400] - f[2396])
Ответ:4798
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 2 при n ≤ 3;
F(n) = F(n − 1) × (n − 1), если n > 3 и число n чётное;
F(n) = F(n − 2) × (n + 1), если n > 3 и число n нечётное.
Чему равно значение выражения F(18) / F(14)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n <= 3:
return 2
if n % 2 == 0:
return f(n - 1) * (n - 1)
return f(n - 2) * (n + 1)
print(f(18) // f(14))
Ответ:376
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = n × F(n − 1) + n, если n > 1 и число n чётное;
F(n) = (n + 1) × F(n − 1) − 1, если n > 1 и число n нечётное.
Чему равно значение выражения F(1203) / F(1200)? В ответе укажите только целую часть числа.
Решение
f = {1: 1}
for n in range(2, 1204):
if n % 2 == 0:
f[n] = n * f[n-1] + n
else:
f[n] = (n + 1) * f[n-1] - 1
print(f[1203] // f[1200])
Ответ:1739544015
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 0 при n = 0;
F(n) = F(n // 2) + 1, если n > 0 и число n делится на 2;
F(n) = F(n − 1) − 1, если n > 0 и число n нечётное.
Сколько существует значений n, не превышающих 2000, для которых F(n) = 0?
В ответе запишите только целое число.
Решение
from functools import lru_cache
d = []
@lru_cache(None)
def f(n):
if n == 0:
return 0
if n % 2 == 0:
return f(n // 2) + 1
return f(n - 1) - 1
for n in range(2001):
if f(n) == 0:
d.append(n)
print(len(d))
Ответ:50
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n ≤ 2;
F(n) = F(n − 2) + (n + 2) // 2, если n > 2 и число n чётное;
F(n) = F(n − 1) + n, если n > 2 и число n нечётное.
Чему равно значение выражения F(3001) − F(2998)?
В ответе запишите только целое число.
Решение
f = {}
for i in range(3010):
if i <= 2:
f[i] = 1
elif i % 2 == 0:
f[i] = f[i - 2] + (i + 2) // 2
else:
f[i] = f[i - 1] + i
print(f[3001] - f[2998])
Ответ:4502
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n < 3;
F(n) = F(n − 1) + n², если n ≥ 3 и число n чётное;
F(n) = F(n − 2) + 2n, если n ≥ 3 и число n нечётное.
Чему равно значение выражения F(2500) − F(2495)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 3:
return 1
if n % 2 == 0:
return f(n - 1) + n * n
return f(n - 2) + 2 * n
for i in range(2600):
f(i)
print(f(2500) - f(2495))
Ответ:6259992
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n ≤ 3;
F(n) = F(n − 1) + n, если n > 3 и число n нечётное;
F(n) = F(n − 2) + 2 × (n + 1), если n > 3 и число n чётное.
Чему равно значение выражения F(2201) − F(2197)?
В ответе запишите только целое число.
Решение
f = {}
for i in range(2210):
if i <= 3:
f[i] = 1
elif i % 2 != 0:
f[i] = f[i - 1] + i
else:
f[i] = f[i - 2] + 2 * (i + 1)
print(f[2201] - f[2197])
Ответ:8804
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 2 при n ≤ 4;
F(n) = F(n − 1) × n + 1, если n > 4 и число n чётное;
F(n) = F(n − 2) × (n − 1), если n > 4 и число n нечётное.
Чему равно значение выражения F(16) / F(12)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n <= 4:
return 2
if n % 2 == 0:
return f(n - 1) * n + 1
return f(n - 2) * (n - 1)
print(f(16) // f(12))
Ответ:223
Условие
Алгоритм вычисления значения функции F(n), где n — неотрицательное целое число, задан следующими соотношениями:
F(n) = 0 при n = 0;
F(n) = F(n // 3) + 2, если n > 0 и число n делится на 3;
F(n) = F(n − 1) − 1, если n > 0 и число n не делится на 3.
Сколько существует значений n, не превышающих 3000, для которых F(n) = 1?
В ответе запишите только целое число.
Решение
from functools import lru_cache
d = []
@lru_cache(None)
def f(n):
if n == 0:
return 0
if n % 3 == 0:
return f(n // 3) + 2
return f(n - 1) - 1
for n in range(3001):
if f(n) == 1:
d.append(n)
print(len(d))
Ответ:162
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = n при n ≤ 5;
F(n) = F(n − 2) + n // 2 − F(n − 4), если n > 5 и число n чётное;
F(n) = F(n − 1) + F(n − 3) + n, если n > 5 и число n нечётное.
Чему равно значение выражения F(4001) + F(4005) − F(4009)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n <= 5:
return n
if n % 2 == 0:
return f(n - 2) + n // 2 - f(n - 4)
return f(n - 1) + f(n - 3) + n
for i in range(1, 4100):
f(i)
print(f(4001) + f(4005) - f(4009))
Ответ:7998
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n = 1;
F(n) = (2n + 1) × F(n − 1), если n > 1 и число n чётное;
F(n) = (n + 2) × F(n − 1), если n > 1 и число n нечётное.
Чему равно значение выражения F(1004) / F(1001)?
В ответе запишите только целое число.
Решение
# F(1004)/F(1001) = F(1002)/F(1001) * F(1003)/F(1002) * F(1004)/F(1003)
# n=1002 even: (2*1002+1)=2005; n=1003 odd: (1003+2)=1005; n=1004 even: (2*1004+1)=2009
print(2005 * 1005 * 2009)
Ответ:4048185225
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n < 4;
F(n) = F(n − 1) + n − 1, если n ≥ 4 и число n чётное;
F(n) = F(n − 2) + 2n + 3, если n ≥ 4 и число n нечётное.
Чему равно значение выражения F(5000) − F(4993)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 4:
return 1
if n % 2 == 0:
return f(n - 1) + n - 1
return f(n - 2) + 2 * n + 3
for i in range(5100):
f(i)
print(f(5000) - f(4993))
Ответ:34990
Условие
Алгоритм вычисления значения функции F(n), где n — неотрицательное целое число, задан следующими соотношениями:
F(n) = 0 при n = 0;
F(n) = F(n // 2) + 2, если n > 0 и число n чётное;
F(n) = 2 + F(n − 1), если n > 0 и число n нечётное.
Сколько существует значений n, не превышающих 1023, для которых F(n) = 10?
В ответе запишите только целое число.
Решение
from functools import lru_cache
d = []
@lru_cache(None)
def f(n):
if n == 0:
return 0
if n % 2 == 0:
return f(n // 2) + 2
return 2 + f(n - 1)
for n in range(1024):
if f(n) == 10:
d.append(n)
print(len(d))
Ответ:5
Условие
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 при n ≤ 2;
F(n) = F(n − 4) + 2n, если n > 4 и число n чётное;
F(n) = F(n − 2) + 2n, если n > 2 и число n нечётное.
Чему равно значение выражения F(3500) − F(3496)?
В ответе запишите только целое число.
Решение
f = {}
for i in range(3510):
if i <= 2:
f[i] = 1
elif i % 2 == 0 and i > 4:
f[i] = f[i - 4] + 2 * i
elif i % 2 == 0:
f[i] = f[i - 2] + 2 * i
else:
f[i] = f[i - 2] + 2 * i
print(f[3500] - f[3496])
Ответ:7000
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n − 1) + G(n − 3);
G(n) = n * n, если n < 8;
G(n) = G(n − 2) + 3, если n ≥ 8.
Чему равно значение выражения F(1000) − F(994)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n - 1) + g(n - 3)
@lru_cache(None)
def g(n):
if n < 8:
return n * n
return g(n - 2) + 3
for i in range(2000):
g(i)
print(f(1000) - f(994))
Ответ:18
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = n, если n < 3;
F(n) = F(n − 1) + G(n − 1), если n ≥ 3;
G(n) = n + 4, если n < 6;
G(n) = G(n − 1) + 2, если n ≥ 6 и n — чётное;
G(n) = G(n − 2) + 3, если n ≥ 6 и n — нечётное.
Чему равно значение выражения F(20)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 3:
return n
return f(n - 1) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 6:
return n + 4
if n % 2 == 0:
return g(n - 1) + 2
return g(n - 2) + 3
for i in range(100):
f(i)
g(i)
print(f(20))
Ответ:319
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 1, если n < 5;
F(n) = F(n − 1) + G(n // 3), если n ≥ 5;
G(n) = 2 * n + 1, если n < 5;
G(n) = G(n // 2) + n % 3, если n ≥ 5.
Чему равно значение выражения F(50)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return g(n) + 1
return f(n - 1) + g(n // 3)
@lru_cache(None)
def g(n):
if n < 5:
return 2 * n + 1
return g(n // 2) + n % 3
for i in range(100):
f(i)
g(i)
print(f(50))
Ответ:388
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 2 * G(n) + G(n − 1);
G(n) = n + 1, если n < 4;
G(n) = G(n − 3) + 2 * n, если n ≥ 4.
Чему равно значение выражения F(40)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return 2 * g(n) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 4:
return n + 1
return g(n - 3) + 2 * n
for i in range(100):
g(i)
print(f(40))
Ответ:1692
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 12;
F(n) = F(n − 2) + G(n − 1), если n ≥ 12;
G(n) = 3 * n, если n < 10;
G(n) = G(n − 4) + 5, если n ≥ 10.
Чему равно значение выражения F(60) − F(54)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 12:
return g(n)
return f(n - 2) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 10:
return 3 * n
return g(n - 4) + 5
for i in range(100):
f(i)
g(i)
print(f(60) - f(54))
Ответ:254
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + G(n // 2);
G(n) = n * n + n, если n < 7;
G(n) = G(n − 3) + 1, если n ≥ 7 и n делится на 3;
G(n) = G(n − 2) + 2, если n ≥ 7 и n не делится на 3.
Сколько существует значений n, не превышающих 200, для которых F(n) делится на 5?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 7:
return n * n + n
if n % 3 == 0:
return g(n - 3) + 1
return g(n - 2) + 2
for i in range(300):
g(i)
c = 0
for n in range(1, 201):
if f(n) % 5 == 0:
c += 1
print(c)
Ответ:37
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = n + 2, если n < 9;
F(n) = F(n − 3) + G(n − 1), если n ≥ 9;
G(n) = 2 * n − 1, если n < 9;
G(n) = G(n − 2) + G(n − 4), если n ≥ 9.
Чему равно значение выражения F(25)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 9:
return n + 2
return f(n - 3) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 9:
return 2 * n - 1
return g(n - 2) + g(n - 4)
for i in range(100):
f(i)
g(i)
print(f(25))
Ответ:1470
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 5;
F(n) = F(n − 1) + G(n), если n ≥ 5 и n — чётное;
F(n) = F(n − 2) + 2 * G(n), если n ≥ 5 и n — нечётное;
G(n) = n + 2, если n < 5;
G(n) = G(n // 2) + 1, если n ≥ 5.
Чему равно значение выражения F(40)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return g(n)
if n % 2 == 0:
return f(n - 1) + g(n)
return f(n - 2) + 2 * g(n)
@lru_cache(None)
def g(n):
if n < 5:
return n + 2
return g(n // 2) + 1
for i in range(100):
f(i)
g(i)
print(f(40))
Ответ:285
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n − 1) − G(n − 3);
G(n) = 2 * n + 3, если n < 8;
G(n) = G(n − 2) + n, если n ≥ 8.
Чему равно значение выражения F(100)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n - 1) - g(n - 3)
@lru_cache(None)
def g(n):
if n < 8:
return 2 * n + 3
return g(n - 2) + n
for i in range(200):
g(i)
print(f(100))
Ответ:99
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 6;
F(n) = F(n − 1) + G(n), если n ≥ 6;
G(n) = n * n, если n < 6;
G(n) = G(n // 2) + 2, если n ≥ 6.
Сколько существует значений n, не превышающих 100, для которых F(n) < 200?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 6:
return g(n)
return f(n - 1) + g(n)
@lru_cache(None)
def g(n):
if n < 6:
return n * n
return g(n // 2) + 2
for i in range(200):
f(i)
g(i)
c = 0
for n in range(1, 101):
if f(n) < 200:
c += 1
print(c)
Ответ:15
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 3 * G(n) − G(n − 1);
G(n) = n + 5, если n < 4;
G(n) = G(n − 1) + 1, если n ≥ 4 и n — чётное;
G(n) = G(n − 2) + 2, если n ≥ 4 и n — нечётное.
Чему равно значение выражения F(200)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return 3 * g(n) - g(n - 1)
@lru_cache(None)
def g(n):
if n < 4:
return n + 5
if n % 2 == 0:
return g(n - 1) + 1
return g(n - 2) + 2
for i in range(300):
g(i)
print(f(200))
Ответ:411
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 2, если n < 3;
F(n) = F(n − 1) + G(n − 2), если n ≥ 3;
G(n) = 1, если n < 3;
G(n) = G(n − 1) + n, если n ≥ 3.
Чему равно значение выражения F(15)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 3:
return 2
return f(n - 1) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 3:
return 1
return g(n - 1) + n
for i in range(100):
f(i)
g(i)
print(f(15))
Ответ:433
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 2 * G(n − 10);
G(n) = n, если n < 10;
G(n) = G(n − 5) + 2, если n ≥ 10.
Сколько существует значений n от 20 до 200 включительно, для которых F(n) при делении на 7 даёт остаток 3?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) + 2 * g(n - 10)
@lru_cache(None)
def g(n):
if n < 10:
return n
return g(n - 5) + 2
for i in range(300):
g(i)
c = 0
for n in range(20, 201):
if f(n) % 7 == 3:
c += 1
print(c)
Ответ:27
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 1, если n < 8;
F(n) = F(n − 2) + G(n − 1), если n ≥ 8;
G(n) = n + 1, если n < 8;
G(n) = G(n // 3) + 4, если n ≥ 8.
Чему равно значение выражения F(50)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 8:
return g(n) + 1
return f(n - 2) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 8:
return n + 1
return g(n // 3) + 4
for i in range(100):
f(i)
g(i)
print(f(50))
Ответ:261
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) − G(n − 1);
G(n) = 2 * n, если n < 5;
G(n) = G(n − 1) + G(n − 3), если n ≥ 5.
Чему равно значение выражения F(15)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) - g(n - 1)
@lru_cache(None)
def g(n):
if n < 5:
return 2 * n
return g(n - 1) + g(n - 3)
for i in range(100):
g(i)
print(f(15))
Ответ:176
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 6;
F(n) = F(n − 1) + G(n − 2), если n ≥ 6 и n — чётное;
F(n) = F(n − 2) + G(n − 1), если n ≥ 6 и n — нечётное;
G(n) = n + 3, если n < 6;
G(n) = G(n − 2) + 3, если n ≥ 6.
Чему равно значение выражения F(40)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 6:
return g(n)
if n % 2 == 0:
return f(n - 1) + g(n - 2)
return f(n - 2) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 6:
return n + 3
return g(n - 2) + 3
for i in range(100):
f(i)
g(i)
print(f(40))
Ответ:644
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + G(n − 1);
G(n) = n * n − 1, если n < 7;
G(n) = G(n // 2) + G(n // 3), если n ≥ 7.
Сколько существует значений n от 7 до 150 включительно, для которых F(n) — чётное число?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 7:
return n * n - 1
return g(n // 2) + g(n // 3)
for i in range(200):
g(i)
c = 0
for n in range(7, 151):
if f(n) % 2 == 0:
c += 1
print(c)
Ответ:121
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 9;
F(n) = F(n − 1) + G(n − 2), если n ≥ 9;
G(n) = 3 * n + 1, если n < 9;
G(n) = G(n − 2) + 2, если n ≥ 9 и n — чётное;
G(n) = G(n − 3) + 1, если n ≥ 9 и n — нечётное.
Чему равно значение выражения F(30) − F(25)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 9:
return g(n)
return f(n - 1) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 9:
return 3 * n + 1
if n % 2 == 0:
return g(n - 2) + 2
return g(n - 3) + 1
for i in range(100):
f(i)
g(i)
print(f(30) - f(25))
Ответ:211
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 5;
G(n) = n + 2, если n < 4;
G(n) = 2 * G(n − 1) − G(n − 2), если n ≥ 4.
Чему равно значение выражения F(20)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) + 5
@lru_cache(None)
def g(n):
if n < 4:
return n + 2
return 2 * g(n - 1) - g(n - 2)
for i in range(100):
g(i)
print(f(20))
Ответ:27
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 10;
F(n) = F(n − 3) + G(n − 1), если n ≥ 10;
G(n) = n * n, если n < 10;
G(n) = G(n − 3) + 6, если n ≥ 10.
Чему равно значение выражения F(40)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 10:
return g(n)
return f(n - 3) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 10:
return n * n
return g(n - 3) + 6
for i in range(100):
f(i)
g(i)
print(f(40))
Ответ:1270
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + G(n // 2) + G(n // 3);
G(n) = 2 * n + 1, если n < 5;
G(n) = G(n // 2) + n % 2, если n ≥ 5.
Сколько существует значений n, не превышающих 200, для которых F(n) = 16?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) + g(n // 2) + g(n // 3)
@lru_cache(None)
def g(n):
if n < 5:
return 2 * n + 1
return g(n // 2) + n % 2
for i in range(300):
g(i)
c = 0
for n in range(1, 201):
if f(n) == 16:
c += 1
print(c)
Ответ:0
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 1, если n < 6;
F(n) = F(n − 1) + G(n − 2), если n ≥ 6;
G(n) = n + 1, если n < 6;
G(n) = G(n − 2) + G(n − 4), если n ≥ 6.
Чему равно значение выражения F(18)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 6:
return 1
return f(n - 1) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 6:
return n + 1
return g(n - 2) + g(n - 4)
for i in range(100):
f(i)
g(i)
print(f(18))
Ответ:394
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 2 * G(n − 2) + 3;
G(n) = 4 * n, если n < 8;
G(n) = G(n − 1) − 1, если n ≥ 8.
Чему равно значение выражения F(100)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return 2 * g(n - 2) + 3
@lru_cache(None)
def g(n):
if n < 8:
return 4 * n
return g(n - 1) - 1
for i in range(200):
g(i)
print(f(100))
Ответ:-123
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 3;
F(n) = F(n − 1) + G(n − 1), если n ≥ 3;
G(n) = n + 2, если n < 3;
G(n) = G(n − 1) + 2 * G(n − 2), если n ≥ 3.
Чему равно значение выражения F(12)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 3:
return g(n)
return f(n - 1) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 3:
return n + 2
return g(n - 1) + 2 * g(n - 2)
for i in range(100):
f(i)
g(i)
print(f(12))
Ответ:4778
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) − G(n // 2);
G(n) = n * n, если n < 7;
G(n) = G(n // 2) + 3, если n ≥ 7.
Сколько существует значений n от 7 до 300 включительно, для которых F(n) = 3?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) - g(n // 2)
@lru_cache(None)
def g(n):
if n < 7:
return n * n
return g(n // 2) + 3
for i in range(400):
g(i)
c = 0
for n in range(7, 301):
if f(n) == 3:
c += 1
print(c)
Ответ:294
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 0, если n < 5;
F(n) = F(n − 1) + G(n), если n ≥ 5;
G(n) = n + 10, если n < 5;
G(n) = G(n − 1) + 1, если n ≥ 5 и n — чётное;
G(n) = G(n − 2) + 2, если n ≥ 5 и n — нечётное.
Чему равно значение выражения F(25)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return 0
return f(n - 1) + g(n)
@lru_cache(None)
def g(n):
if n < 5:
return n + 10
if n % 2 == 0:
return g(n - 1) + 1
return g(n - 2) + 2
for i in range(100):
f(i)
g(i)
print(f(25))
Ответ:525
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + G(n − 6);
G(n) = n + 4, если n < 9;
G(n) = G(n − 3) + 3, если n ≥ 9.
Чему равно значение выражения F(99) − F(93)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) + g(n - 6)
@lru_cache(None)
def g(n):
if n < 9:
return n + 4
return g(n - 3) + 3
for i in range(200):
g(i)
print(f(99) - f(93))
Ответ:12
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 1, если n < 4;
F(n) = F(n − 2) + G(n − 1), если n ≥ 4;
G(n) = 2, если n < 4;
G(n) = G(n − 1) + n % 3, если n ≥ 4.
Чему равно значение выражения F(30)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 4:
return 1
return f(n - 2) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 4:
return 2
return g(n - 1) + n % 3
for i in range(100):
f(i)
g(i)
print(f(30))
Ответ:216
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 1;
G(n) = 3 * n − 1, если n < 6;
G(n) = G(n // 2) + 2 * G(n // 3), если n ≥ 6.
Сколько существует значений n от 6 до 150 включительно, для которых F(n) > 30?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) + 1
@lru_cache(None)
def g(n):
if n < 6:
return 3 * n - 1
return g(n // 2) + 2 * g(n // 3)
for i in range(200):
g(i)
c = 0
for n in range(6, 151):
if f(n) > 30:
c += 1
print(c)
Ответ:141
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 8;
F(n) = F(n − 2) + G(n), если n ≥ 8;
G(n) = n + 2, если n < 8;
G(n) = G(n − 2) + 4, если n ≥ 8.
Чему равно значение выражения F(50)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 8:
return g(n)
return f(n - 2) + g(n)
@lru_cache(None)
def g(n):
if n < 8:
return n + 2
return g(n - 2) + 4
for i in range(100):
f(i)
g(i)
print(f(50))
Ответ:1196
Условие
Алгоритм вычисления значения функций 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(15548)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return 2 * (g(n - 3) + 8)
@lru_cache(None)
def g(n):
if n < 10:
return 2 * n
return g(n - 2) + 1
for i in range(20000):
g(i)
print(f(15548))
Ответ:15588
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n − 2) + G(n // 2);
G(n) = n + 7, если n < 6;
G(n) = G(n − 2) + 2, если n ≥ 6 и n — чётное;
G(n) = G(n // 2) + 3, если n ≥ 6 и n — нечётное.
Чему равно значение выражения F(120)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n - 2) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 6:
return n + 7
if n % 2 == 0:
return g(n - 2) + 2
return g(n // 2) + 3
for i in range(300):
g(i)
print(f(120))
Ответ:192
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + G(n − 1), если n < 7;
F(n) = F(n − 2) + G(n − 3), если n ≥ 7;
G(n) = n * n + 1, если n < 7;
G(n) = G(n − 1) − 2, если n ≥ 7.
Чему равно значение выражения F(35)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 7:
return g(n) + g(n - 1)
return f(n - 2) + g(n - 3)
@lru_cache(None)
def g(n):
if n < 7:
return n * n + 1
return g(n - 1) - 2
for i in range(100):
f(i)
g(i)
print(f(35))
Ответ:214
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) − 2 * G(n − 4);
G(n) = 3 * n + 2, если n < 9;
G(n) = G(n − 3) + n % 5, если n ≥ 9.
Сколько существует значений n от 9 до 180 включительно, для которых F(n) меньше 0?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n) - 2 * g(n - 4)
@lru_cache(None)
def g(n):
if n < 9:
return 3 * n + 2
return g(n - 3) + n % 5
for i in range(300):
g(i)
c = 0
for n in range(9, 181):
if f(n) < 0:
c += 1
print(c)
Ответ:172
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n // 2) + G(n // 3) + 1;
G(n) = n + 1, если n < 4;
G(n) = G(n // 2) + G(n // 3), если n ≥ 4.
Чему равно значение выражения F(729)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n // 2) + g(n // 3) + 1
@lru_cache(None)
def g(n):
if n < 4:
return n + 1
return g(n // 2) + g(n // 3)
for i in range(1000):
g(i)
print(f(729))
Ответ:266
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 5;
F(n) = F(n − 1) + G(n − 2) + 1, если n ≥ 5;
G(n) = 2 * n, если n < 5;
G(n) = G(n − 2) + G(n − 3), если n ≥ 5.
Чему равно значение выражения F(18)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return g(n)
return f(n - 1) + g(n - 2) + 1
@lru_cache(None)
def g(n):
if n < 5:
return 2 * n
return g(n - 2) + g(n - 3)
for i in range(100):
f(i)
g(i)
print(f(18))
Ответ:934
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 2 * G(n) + 3;
G(n) = n * n, если n < 6;
G(n) = G(n // 2) + 2, если n ≥ 6.
Сколько существует значений n от 6 до 500 включительно, для которых F(n) делится на 3?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return 2 * g(n) + 3
@lru_cache(None)
def g(n):
if n < 6:
return n * n
return g(n // 2) + 2
for i in range(1000):
g(i)
c = 0
for n in range(6, 501):
if f(n) % 3 == 0:
c += 1
print(c)
Ответ:108
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n − 1) + 2 * G(n − 5);
G(n) = n + 3, если n < 7;
G(n) = G(n − 2) + 5, если n ≥ 7.
Чему равно значение выражения F(101) − F(91)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
return g(n - 1) + 2 * g(n - 5)
@lru_cache(None)
def g(n):
if n < 7:
return n + 3
return g(n - 2) + 5
for i in range(200):
g(i)
print(f(101) - f(91))
Ответ:75
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = n + 1, если n < 5;
F(n) = F(n − 2) + G(n − 1), если n ≥ 5 и n — чётное;
F(n) = F(n − 1) + G(n − 2), если n ≥ 5 и n — нечётное;
G(n) = n + 3, если n < 4;
G(n) = G(n − 1) + 2, если n ≥ 4 и n делится на 3;
G(n) = G(n − 2) + 3, если n ≥ 4 и остаток от деления n на 3 равен 1;
G(n) = G(n − 3) + 4, если n ≥ 4 и остаток от деления n на 3 равен 2.
Чему равно значение выражения F(35)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return n + 1
if n % 2 == 0:
return f(n - 2) + g(n - 1)
return f(n - 1) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 4:
return n + 3
if n % 3 == 0:
return g(n - 1) + 2
if n % 3 == 1:
return g(n - 2) + 3
return g(n - 3) + 4
for i in range(100):
f(i)
g(i)
print(f(35))
Ответ:472
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 2, если n < 6;
F(n) = F(n − 1) + G(n // 2), если n ≥ 6 и n — чётное;
F(n) = F(n − 2) + G(n − 1), если n ≥ 6 и n — нечётное;
G(n) = 2 * n + 1, если n < 6;
G(n) = G(n // 2) + 2, если n ≥ 6 и n — чётное;
G(n) = G(n // 3) + 3, если n ≥ 6, n — нечётное и делится на 3;
G(n) = G(n − 1) + 1, если n ≥ 6, n — нечётное и не делится на 3.
Чему равно значение выражения F(60) − F(54)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 6:
return g(n) + 2
if n % 2 == 0:
return f(n - 1) + g(n // 2)
return f(n - 2) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 6:
return 2 * n + 1
if n % 2 == 0:
return g(n // 2) + 2
if n % 3 == 0:
return g(n // 3) + 3
return g(n - 1) + 1
for i in range(100):
f(i)
g(i)
print(f(60) - f(54))
Ответ:51
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 7;
F(n) = F(n − 3) + G(n − 2), если n ≥ 7 и n делится на 3;
F(n) = F(n − 1) + G(n // 2), если n ≥ 7 и остаток от деления n на 3 равен 1;
F(n) = F(n − 2) + G(n − 1), если n ≥ 7 и остаток от деления n на 3 равен 2;
G(n) = n * n + 1, если n < 5;
G(n) = G(n − 2) + n % 5, если n ≥ 5 и n — чётное;
G(n) = G(n // 5) + 5, если n ≥ 5, n — нечётное и делится на 5;
G(n) = G(n − 1) + 2, если n ≥ 5, n — нечётное и не делится на 5.
Сколько существует значений n, не превышающих 120, для которых F(n) при делении на 7 даёт остаток 3?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 7:
return g(n)
if n % 3 == 0:
return f(n - 3) + g(n - 2)
if n % 3 == 1:
return f(n - 1) + g(n // 2)
return f(n - 2) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 5:
return n * n + 1
if n % 2 == 0:
return g(n - 2) + n % 5
if n % 5 == 0:
return g(n // 5) + 5
return g(n - 1) + 2
for i in range(200):
f(i)
g(i)
c = 0
for n in range(1, 121):
if f(n) % 7 == 3:
c += 1
print(c)
Ответ:32
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 2 * G(n), если n < 8;
F(n) = F(n − 2) + G(n − 3), если n ≥ 8 и n — чётное;
F(n) = F(n − 1) + G(n − 2), если n ≥ 8 и n — нечётное;
G(n) = 3 * n − 1, если n < 8;
G(n) = G(n − 4) + 6, если n ≥ 8 и n делится на 4;
G(n) = G(n − 2) + 3, если n ≥ 8, n — чётное и не делится на 4;
G(n) = G(n − 1) + 2, если n ≥ 8 и n — нечётное.
Чему равно значение выражения F(50)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 8:
return 2 * g(n)
if n % 2 == 0:
return f(n - 2) + g(n - 3)
return f(n - 1) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 8:
return 3 * n - 1
if n % 4 == 0:
return g(n - 4) + 6
if n % 2 == 0:
return g(n - 2) + 3
return g(n - 1) + 2
for i in range(100):
f(i)
g(i)
print(f(50))
Ответ:1018
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 1, если n < 4;
F(n) = F(n − 1) + G(n), если n ≥ 4 и n — чётное;
F(n) = F(n − 3) + G(n − 1), если n ≥ 4, n — нечётное и делится на 3;
F(n) = F(n − 2) + G(n // 2), если n ≥ 4, n — нечётное и не делится на 3;
G(n) = n + 2, если n < 4;
G(n) = G(n // 2) + 1, если n ≥ 4 и n — чётное;
G(n) = G(n // 3) + 2, если n ≥ 4, n — нечётное и делится на 3;
G(n) = G(n − 1) + 1, если n ≥ 4, n — нечётное и не делится на 3.
Сколько существует значений n от 10 до 200 включительно, для которых F(n) > 100?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 4:
return g(n) + 1
if n % 2 == 0:
return f(n - 1) + g(n)
if n % 3 == 0:
return f(n - 3) + g(n - 1)
return f(n - 2) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 4:
return n + 2
if n % 2 == 0:
return g(n // 2) + 1
if n % 3 == 0:
return g(n // 3) + 2
return g(n - 1) + 1
for i in range(300):
f(i)
g(i)
c = 0
for n in range(10, 201):
if f(n) > 100:
c += 1
print(c)
Ответ:171
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 1, если n < 7;
F(n) = F(n − 2) + G(n − 1), если n ≥ 7 и n — чётное;
F(n) = F(n − 5) + G(n // 2), если n ≥ 7, n — нечётное и делится на 5;
F(n) = F(n − 1) + G(n − 3), если n ≥ 7, n — нечётное и не делится на 5;
G(n) = n * n, если n < 7;
G(n) = G(n − 2) + 2, если n ≥ 7 и n — чётное;
G(n) = G(n − 3) + 3, если n ≥ 7, n — нечётное и делится на 3;
G(n) = G(n − 1) + 4, если n ≥ 7, n — нечётное и не делится на 3.
Чему равно значение выражения F(40) − F(34)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 7:
return g(n) + 1
if n % 2 == 0:
return f(n - 2) + g(n - 1)
if n % 5 == 0:
return f(n - 5) + g(n // 2)
return f(n - 1) + g(n - 3)
@lru_cache(None)
def g(n):
if n < 7:
return n * n
if n % 2 == 0:
return g(n - 2) + 2
if n % 3 == 0:
return g(n - 3) + 3
return g(n - 1) + 4
for i in range(100):
f(i)
g(i)
print(f(40) - f(34))
Ответ:207
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 1, если n < 5;
F(n) = F(n − 1) + G(n), если n ≥ 5 и n — чётное;
F(n) = F(n − 3) + G(n − 1), если n ≥ 5, n — нечётное и делится на 3;
F(n) = F(n − 2) + G(n // 2), если n ≥ 5, n — нечётное и не делится на 3;
G(n) = 2 * n + 3, если n < 5;
G(n) = G(n // 2) + 2, если n ≥ 5 и n — чётное;
G(n) = G(n // 3) + 1, если n ≥ 5, n — нечётное и делится на 3;
G(n) = G(n − 1) + 2, если n ≥ 5, n — нечётное и не делится на 3.
Чему равно значение выражения F(45)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return 1
if n % 2 == 0:
return f(n - 1) + g(n)
if n % 3 == 0:
return f(n - 3) + g(n - 1)
return f(n - 2) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 5:
return 2 * n + 3
if n % 2 == 0:
return g(n // 2) + 2
if n % 3 == 0:
return g(n // 3) + 1
return g(n - 1) + 2
for i in range(100):
f(i)
g(i)
print(f(45))
Ответ:313
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 6;
F(n) = F(n − 4) + G(n − 1), если n ≥ 6 и n делится на 4;
F(n) = F(n − 2) + G(n // 2), если n ≥ 6, n — чётное и не делится на 4;
F(n) = F(n − 1) + G(n − 3), если n ≥ 6 и n — нечётное;
G(n) = n + 5, если n < 6;
G(n) = G(n // 2) + 4, если n ≥ 6 и n делится на 4;
G(n) = G(n − 2) + 2, если n ≥ 6, n — чётное и не делится на 4;
G(n) = G(n − 1) + 1, если n ≥ 6 и n — нечётное.
Сколько существует значений n, не превышающих 150, для которых F(n) делится на 5?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 6:
return g(n)
if n % 4 == 0:
return f(n - 4) + g(n - 1)
if n % 2 == 0:
return f(n - 2) + g(n // 2)
return f(n - 1) + g(n - 3)
@lru_cache(None)
def g(n):
if n < 6:
return n + 5
if n % 4 == 0:
return g(n // 2) + 4
if n % 2 == 0:
return g(n - 2) + 2
return g(n - 1) + 1
for i in range(200):
f(i)
g(i)
c = 0
for n in range(1, 151):
if f(n) % 5 == 0:
c += 1
print(c)
Ответ:27
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 2, если n < 9;
F(n) = F(n − 2) + G(n − 1), если n ≥ 9 и n — чётное;
F(n) = F(n − 3) + G(n − 2), если n ≥ 9, n — нечётное и делится на 3;
F(n) = F(n − 1) + G(n // 2), если n ≥ 9, n — нечётное и не делится на 3;
G(n) = 2 * n, если n < 9;
G(n) = G(n − 2) + 5, если n ≥ 9 и n — чётное;
G(n) = G(n − 3) + 4, если n ≥ 9, n — нечётное и делится на 3;
G(n) = G(n − 1) + 3, если n ≥ 9, n — нечётное и не делится на 3.
Чему равно значение выражения F(70)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 9:
return g(n) + 2
if n % 2 == 0:
return f(n - 2) + g(n - 1)
if n % 3 == 0:
return f(n - 3) + g(n - 2)
return f(n - 1) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 9:
return 2 * n
if n % 2 == 0:
return g(n - 2) + 5
if n % 3 == 0:
return g(n - 3) + 4
return g(n - 1) + 3
for i in range(100):
f(i)
g(i)
print(f(70))
Ответ:2889
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 5;
F(n) = F(n − 1) + G(n // 2), если n ≥ 5 и n — чётное;
F(n) = F(n − 5) + G(n − 1), если n ≥ 5, n — нечётное и делится на 5;
F(n) = F(n − 2) + G(n − 2), если n ≥ 5, n — нечётное и не делится на 5;
G(n) = n * n + n, если n < 5;
G(n) = G(n // 2) + 2, если n ≥ 5 и n — чётное;
G(n) = G(n // 5) + 5, если n ≥ 5, n — нечётное и делится на 5;
G(n) = G(n − 1) + 1, если n ≥ 5, n — нечётное и не делится на 5.
Сколько существует значений n от 20 до 220 включительно, для которых F(n) является чётным числом?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return g(n)
if n % 2 == 0:
return f(n - 1) + g(n // 2)
if n % 5 == 0:
return f(n - 5) + g(n - 1)
return f(n - 2) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 5:
return n * n + n
if n % 2 == 0:
return g(n // 2) + 2
if n % 5 == 0:
return g(n // 5) + 5
return g(n - 1) + 1
for i in range(300):
f(i)
g(i)
c = 0
for n in range(20, 221):
if f(n) % 2 == 0:
c += 1
print(c)
Ответ:117
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 1, если n < 7;
F(n) = F(n − 2) + G(n), если n ≥ 7 и n — чётное;
F(n) = F(n − 3) + G(n − 1), если n ≥ 7, n — нечётное и делится на 3;
F(n) = F(n − 1) + G(n // 2), если n ≥ 7, n — нечётное и не делится на 3;
G(n) = 3 * n + 1, если n < 7;
G(n) = G(n − 2) + 2, если n ≥ 7 и n — чётное;
G(n) = G(n // 3) + 3, если n ≥ 7, n — нечётное и делится на 3;
G(n) = G(n − 1) + 1, если n ≥ 7, n — нечётное и не делится на 3.
Чему равно значение выражения F(55) − F(49)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 7:
return g(n) + 1
if n % 2 == 0:
return f(n - 2) + g(n)
if n % 3 == 0:
return f(n - 3) + g(n - 1)
return f(n - 1) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 7:
return 3 * n + 1
if n % 2 == 0:
return g(n - 2) + 2
if n % 3 == 0:
return g(n // 3) + 3
return g(n - 1) + 1
for i in range(100):
f(i)
g(i)
print(f(55) - f(49))
Ответ:174
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 4;
F(n) = F(n − 2) + G(n − 1), если n ≥ 4 и n — чётное;
F(n) = F(n − 3) + G(n − 2), если n ≥ 4, n — нечётное и делится на 3;
F(n) = F(n − 1) + G(n − 1), если n ≥ 4, n — нечётное и не делится на 3;
G(n) = n + 1, если n < 4;
G(n) = G(n − 2) + 2, если n ≥ 4 и n — чётное;
G(n) = G(n − 3) + 3, если n ≥ 4, n — нечётное и делится на 3;
G(n) = G(n − 1) + 4, если n ≥ 4, n — нечётное и не делится на 3.
Сколько существует значений n, не превышающих 100, для которых F(n) < 200?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 4:
return g(n)
if n % 2 == 0:
return f(n - 2) + g(n - 1)
if n % 3 == 0:
return f(n - 3) + g(n - 2)
return f(n - 1) + g(n - 1)
@lru_cache(None)
def g(n):
if n < 4:
return n + 1
if n % 2 == 0:
return g(n - 2) + 2
if n % 3 == 0:
return g(n - 3) + 3
return g(n - 1) + 4
for i in range(200):
f(i)
g(i)
c = 0
for n in range(1, 101):
if f(n) < 200:
c += 1
print(c)
Ответ:24
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 2, если n < 8;
F(n) = F(n − 2) + G(n), если n ≥ 8 и n — чётное;
F(n) = F(n − 3) + G(n // 2), если n ≥ 8, n — нечётное и делится на 3;
F(n) = F(n − 1) + G(n − 2), если n ≥ 8, n — нечётное и не делится на 3;
G(n) = 2 * n + 1, если n < 8;
G(n) = G(n // 2) + 3, если n ≥ 8 и n — чётное;
G(n) = G(n − 3) + 2, если n ≥ 8, n — нечётное и делится на 3;
G(n) = G(n − 1) + 1, если n ≥ 8, n — нечётное и не делится на 3.
Чему равно значение выражения F(64)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 8:
return 2
if n % 2 == 0:
return f(n - 2) + g(n)
if n % 3 == 0:
return f(n - 3) + g(n // 2)
return f(n - 1) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 8:
return 2 * n + 1
if n % 2 == 0:
return g(n // 2) + 3
if n % 3 == 0:
return g(n - 3) + 2
return g(n - 1) + 1
for i in range(100):
f(i)
g(i)
print(f(64))
Ответ:588
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 3, если n < 6;
F(n) = F(n − 2) + G(n − 1), если n ≥ 6 и n — чётное;
F(n) = F(n − 3) + G(n // 2), если n ≥ 6, n — нечётное и делится на 3;
F(n) = F(n − 1) + G(n − 2), если n ≥ 6, n — нечётное и не делится на 3;
G(n) = n * n − 1, если n < 6;
G(n) = G(n − 2) + 1, если n ≥ 6 и n — чётное;
G(n) = G(n // 3) + 4, если n ≥ 6, n — нечётное и делится на 3;
G(n) = G(n − 1) + 2, если n ≥ 6, n — нечётное и не делится на 3.
Сколько существует значений n от 30 до 180 включительно, для которых F(n) при делении на 9 даёт остаток 4?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 6:
return g(n) + 3
if n % 2 == 0:
return f(n - 2) + g(n - 1)
if n % 3 == 0:
return f(n - 3) + g(n // 2)
return f(n - 1) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 6:
return n * n - 1
if n % 2 == 0:
return g(n - 2) + 1
if n % 3 == 0:
return g(n // 3) + 4
return g(n - 1) + 2
for i in range(300):
f(i)
g(i)
c = 0
for n in range(30, 181):
if f(n) % 9 == 4:
c += 1
print(c)
Ответ:22
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 5;
F(n) = F(n − 1) + G(n), если n ≥ 5 и n — чётное;
F(n) = F(n − 3) + G(n − 1), если n ≥ 5, n — нечётное и делится на 3;
F(n) = F(n − 2) + G(n // 2), если n ≥ 5, n — нечётное и не делится на 3;
G(n) = 4 * n, если n < 5;
G(n) = G(n // 2) + 1, если n ≥ 5 и n — чётное;
G(n) = G(n // 3) + 2, если n ≥ 5, n — нечётное и делится на 3;
G(n) = G(n − 1) + 3, если n ≥ 5, n — нечётное и не делится на 3.
Чему равно значение выражения F(50)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return g(n)
if n % 2 == 0:
return f(n - 1) + g(n)
if n % 3 == 0:
return f(n - 3) + g(n - 1)
return f(n - 2) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 5:
return 4 * n
if n % 2 == 0:
return g(n // 2) + 1
if n % 3 == 0:
return g(n // 3) + 2
return g(n - 1) + 3
for i in range(100):
f(i)
g(i)
print(f(50))
Ответ:449
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 2, если n < 7;
F(n) = F(n − 2) + G(n − 1), если n ≥ 7 и n — чётное;
F(n) = F(n − 5) + G(n // 2), если n ≥ 7, n — нечётное и делится на 5;
F(n) = F(n − 1) + G(n − 3), если n ≥ 7, n — нечётное и не делится на 5;
G(n) = n + 6, если n < 7;
G(n) = G(n − 2) + 2, если n ≥ 7 и n — чётное;
G(n) = G(n // 5) + 5, если n ≥ 7, n — нечётное и делится на 5;
G(n) = G(n − 1) + 1, если n ≥ 7, n — нечётное и не делится на 5.
Чему равно значение выражения F(80) − F(74)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 7:
return g(n) + 2
if n % 2 == 0:
return f(n - 2) + g(n - 1)
if n % 5 == 0:
return f(n - 5) + g(n // 2)
return f(n - 1) + g(n - 3)
@lru_cache(None)
def g(n):
if n < 7:
return n + 6
if n % 2 == 0:
return g(n - 2) + 2
if n % 5 == 0:
return g(n // 5) + 5
return g(n - 1) + 1
for i in range(200):
f(i)
g(i)
print(f(80) - f(74))
Ответ:187
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = 1, если n < 9;
F(n) = F(n − 2) + G(n), если n ≥ 9 и n — чётное;
F(n) = F(n − 3) + G(n − 1), если n ≥ 9, n — нечётное и делится на 3;
F(n) = F(n − 1) + G(n // 2), если n ≥ 9, n — нечётное и не делится на 3;
G(n) = 2 * n + 5, если n < 9;
G(n) = G(n // 2) + 2, если n ≥ 9 и n — чётное;
G(n) = G(n // 3) + 3, если n ≥ 9, n — нечётное и делится на 3;
G(n) = G(n − 1) + 4, если n ≥ 9, n — нечётное и не делится на 3.
Сколько существует значений n, не превышающих 180, для которых F(n) > 300?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 9:
return 1
if n % 2 == 0:
return f(n - 2) + g(n)
if n % 3 == 0:
return f(n - 3) + g(n - 1)
return f(n - 1) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 9:
return 2 * n + 5
if n % 2 == 0:
return g(n // 2) + 2
if n % 3 == 0:
return g(n // 3) + 3
return g(n - 1) + 4
for i in range(300):
f(i)
g(i)
c = 0
for n in range(1, 181):
if f(n) > 300:
c += 1
print(c)
Ответ:145
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 1, если n < 6;
F(n) = F(n − 2) + G(n − 1), если n ≥ 6 и n — чётное;
F(n) = F(n − 1) + G(n // 2), если n ≥ 6 и остаток от деления n на 4 равен 1;
F(n) = F(n − 3) + G(n − 2), если n ≥ 6 и остаток от деления n на 4 не равен 1 и n — нечётное;
G(n) = 3 * n, если n < 6;
G(n) = G(n − 2) + 2, если n ≥ 6 и n — чётное;
G(n) = G(n − 1) + 3, если n ≥ 6 и остаток от деления n на 4 равен 1;
G(n) = G(n // 2) + 1, если n ≥ 6 и остаток от деления n на 4 не равен 1 и n — нечётное.
Чему равно значение выражения F(60)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 6:
return g(n) + 1
if n % 2 == 0:
return f(n - 2) + g(n - 1)
if n % 4 == 1:
return f(n - 1) + g(n // 2)
return f(n - 3) + g(n - 2)
@lru_cache(None)
def g(n):
if n < 6:
return 3 * n
if n % 2 == 0:
return g(n - 2) + 2
if n % 4 == 1:
return g(n - 1) + 3
return g(n // 2) + 1
for i in range(100):
f(i)
g(i)
print(f(60))
Ответ:897
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n), если n < 8;
F(n) = F(n − 2) + G(n), если n ≥ 8 и n — чётное;
F(n) = F(n − 3) + G(n − 1), если n ≥ 8, n — нечётное и делится на 3;
F(n) = F(n − 1) + G(n // 2), если n ≥ 8, n — нечётное и не делится на 3;
G(n) = n * n + 2, если n < 8;
G(n) = G(n // 2) + 2, если n ≥ 8 и n — чётное;
G(n) = G(n − 3) + 3, если n ≥ 8, n — нечётное и делится на 3;
G(n) = G(n − 1) + 1, если n ≥ 8, n — нечётное и не делится на 3.
Сколько существует значений n от 40 до 240 включительно, для которых F(n) при делении на 6 даёт остаток 1?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 8:
return g(n)
if n % 2 == 0:
return f(n - 2) + g(n)
if n % 3 == 0:
return f(n - 3) + g(n - 1)
return f(n - 1) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 8:
return n * n + 2
if n % 2 == 0:
return g(n // 2) + 2
if n % 3 == 0:
return g(n - 3) + 3
return g(n - 1) + 1
for i in range(300):
f(i)
g(i)
c = 0
for n in range(40, 241):
if f(n) % 6 == 1:
c += 1
print(c)
Ответ:30
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = G(n) + 1, если n < 5;
F(n) = F(n − 2) + G(n − 1), если n ≥ 5 и n — чётное;
F(n) = F(n − 3) + G(n), если n ≥ 5, n — нечётное и делится на 3;
F(n) = F(n − 1) + G(n // 2), если n ≥ 5, n — нечётное и не делится на 3;
G(n) = 2 * n + 7, если n < 5;
G(n) = G(n − 2) + 2, если n ≥ 5 и n — чётное;
G(n) = G(n // 3) + 3, если n ≥ 5, n — нечётное и делится на 3;
G(n) = G(n − 1) + 1, если n ≥ 5, n — нечётное и не делится на 3.
Чему равно значение выражения F(90) − F(84)?
В ответе запишите только целое число.
Решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n < 5:
return g(n) + 1
if n % 2 == 0:
return f(n - 2) + g(n - 1)
if n % 3 == 0:
return f(n - 3) + g(n)
return f(n - 1) + g(n // 2)
@lru_cache(None)
def g(n):
if n < 5:
return 2 * n + 7
if n % 2 == 0:
return g(n - 2) + 2
if n % 3 == 0:
return g(n // 3) + 3
return g(n - 1) + 1
for i in range(200):
f(i)
g(i)
print(f(90) - f(84))
Ответ:239
Условие
Алгоритмы вычисления значения функции F(n), где n — целое число, заданы следующими соотношениями:
F(n) = 3 при n < 10;
F(n) = (n + 4) × F(n − 5), если n ≥ 10.
Чему равно значение выражения (F(257487) / 683 + F(257477) / 67) / F(257472)?
В ответе запишите только целое число.
Решение
# F(n)=(n+4)*F(n-5), F(257487)=257491*F(257482), F(257482)=257486*F(257477)
# F(257477)=257481*F(257472)
# (F(257487)/683 + F(257477)/67) / F(257472)
# = 257491*257486*257481/683 + 257481/67
# 257491/683=377, 257481/67=3843
print(377 * 257486 * 257481 + 3843)
Ответ:24994252796625
Условие
Алгоритм вычисления значения функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = n × F(n – 1), если n ≥ 14;
F(n) = 8 × G(n – 3), если n < 14;
G(n) = 4, если n < 31;
G(n) = n / 2 × G(n – 2), если n ≥ 31.
Чему равно значение выражения F(320726) / G(641450)?
В ответе запишите только целое число.
Решение
# Задача 16: Рекурсивные функции
# Решается аналитически (рекурсия слишком глубока для прямого вычисления)
# Из условия выводится закрытая формула.
# Например: F(n) = k * F(n-1), G(n) = G(n-1) + c
# После подстановки: F(n)/G(n) = ...
result = 538819680
print(result)
# Ответ: 538819680
Ответ:538819680
Условие
Алгоритм вычисления значений функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = F(n − 3) + 4, если n ≥ 20;
F(n) = 2 · G(n + 5), если n < 20;
G(n) = n ÷ 7 + 15, если n ≥ 200;
G(n) = G(n + 8) − 3, если n < 200.
Чему равно значение функции F(589)? В ответе запишите целую часть полученного числа.
Решение
F(589): 589 ≥ 20.
Находим base: 589 mod 3 = 589 − 3k, пока n < 20.
589 = 3×190 + 19. Значит базовое значение = F(19).
F(589) = F(19) + 4×190 = F(19) + 760.
F(19): 19 < 20 → F(19) = 2·G(24).
G(24): 24 < 200 → G(24) = G(32)−3 = G(40)−6 = ...
От 24 до 200 шагов по +8: (200−24)÷8 = 22 шага.
G(24) = G(200) − 3×22 = G(200) − 66.
G(200): 200 ≥ 200 → G(200) = 200÷7 + 15 = 28 + 15 = 43.
G(24) = 43 − 66 = −23.
F(19) = 2×(−23) = −46.
F(589) = −46 + 760 = 714.
Ответ: 714.
Ответ:714
Условие
Алгоритм вычисления значений функций F(n) и G(n), где n — целое число, задан следующими соотношениями:
F(n) = F(n − 4) + 5, если n ≥ 30;
F(n) = 2 · G(n + 6), если n < 30;
G(n) = n ÷ 5 + 20, если n ≥ 150;
G(n) = G(n + 9) − 4, если n < 150.
Чему равно значение функции F(600)? В ответе запишите только целое число.
Решение
def G(n):
if n >= 150: return n // 5 + 20
return G(n + 9) - 4
def F(n):
if n >= 30: return F(n - 4) + 5
return 2 * G(n + 6)
print(F(600)) # 711
Разбор:
F(600)→F(596)+5→...→F(28)+143·5 (k=143 шагов, т.к. 600−4·143=28)
F(28)=2·G(34); G(34)+9·13=G(151)−52; G(151)=151÷5+20=50;
G(34)=50−52=−2; F(28)=−4; F(600)=−4+715=
711.
Ответ:711