Алгоритм вычисления функции F(n) задан следующими соотношениями:
F(n) = 3 при n ≤ 1
F(n) = F(n–1) + 2·F(n–2) – 5, если n > 1
Чему равно значение функции F(22)?
Показать решение
def F(n):
if n<=1: return 3 if n>1:
return F(n-1)+2*F(n-2)-5
print(F(22))
Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:
F(0) = 0;
F(n) = F(n/2), если n > 0 и при этом n чётно;
F(n) = 1 + F(n – 1), если n нечётно.
Назовите минимальное значение n, для которого F(n) = 12.
Показать решение
def F(n):
if n==0:
return 0
if n>1 and n%2==0:
return F(n//2)
else:
return 1+F(n-1)
for i in range(9999):
if F(i)==12:
print(i)
Ответ: 4095
Определите, сколько символов * выведет эта процедура при вызове F(35):
def F( n ):
print(‘*’)
if n >= 1:
print(‘*’)
F(n-1)
F(n-2)
print(‘*’)
Показать решение
count=0
def F( n ):
global count
count+=1
if n >= 1:
count+=1
F(n-1)
F(n-2)
count+=1
print(F(35))
print(count)
Ответ: 96631265
Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = n*n + 5*n + 4, при n > 30
F(n) = F(n+1) + 3*F(n+4), при чётных n ≤ 30
F(n) = 2*F(n+2) + F(n+5), при нечётных n ≤ 30
Определите количество натуральных значений n из отрезка [1; 1000], для которых сумма цифр значения F(n) равна 27.
Показать решение
print('informatikstr.ru')
def F(n):
if n > 30:
return n * n + 5 * n + 4
if n % 2 == 0 and n <= 30:
return F(n + 1) + 3 * F(n + 4)
if n % 2 != 0 and n <= 30:
return 2 * F(n + 2) + F(n + 5)
def G(x):
sum = 0
while x > 0:
sum = sum + (x % 10)
x = x // 10
return sum
count = 0
for i in range(1,1000):
if G(F(i)) == 27:
count+=1
print(count)
Ответ: 137
Обозначим через mod(a, b) остаток от деления натурального числа a на натуральное число b. Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями:
F(0) = 0;
F(n) = F(n/3), если n > 0 и при этом mod(n, 3) = 0;
F(n) = mod(n, 3) + F(n – mod(n, 3)), если mod(n, 3) > 0
Назовите минимальное значение n, для которого F(n) = 11
print(‘informatikstr.ru’)
def F(n):
if n == 0:
return 0
if n % 3 == 0:
return F(n // 3)
else:
return n % 3 + F(n — n % 3)
for i in range(1000):
if F(i) == 11:
print(i)
break
Ответ: 485
Алгоритм вычисления функции F(n), где n – натуральное число, задан следующим соотношениями:
F(n) = 1, при n = 1,
F(n) = n · F(n — 1), если n > 1.
Чему равно значение выражения F(2024) / F(2022)?
Показать решение
from functools import lru_cache
@lru_cache(None)
def f(n):
if n==1:
return 1
if n>1:
return n*f(n-1)
for i in range(1, 2025):
f(i)
print(f(2024)/f(2022))
Ответ: 4094552