Информатика · ҰБТ сұрағы №13891
def solve(n, k):
if k == 0 or k == n:
return 1
return solve(n - 1, k - 1) + solve(n - 1, k)
calls = 0
memo = {}
def solve2(n, k):
global calls
calls += 1
if k == 0 or k == n:
return 1
if (n, k) in memo:
return memo[(n, k)]
memo[(n, k)] = solve2(n - 1, k - 1) + solve2(n - 1, k)
return memo[(n, k)]
print(solve(6, 2))
print(solve2(6, 2), calls, len(memo))
Жадыны пайдаланбайтын solve(6, 2) шақыруы барлығы неше рет (бастапқыны қоса) орындалады?
Дұрыс жауабы мен түсіндірмесі
Жауабы: 29
Қайталану шақыру саны c(n,k) = 1 + c(n−1,k−1) + c(n−1,k); базалық жағдайлар 1 шақыру: c(6,2) = 29.
«Алгоритмдер және программалау» тақырыбынан тағы
- Программа экранға не шығарады? def g(n): if n == 0: return 0 if n % 2: return g(n - 1) + n return g(n // 2) *...
- Алгоритмдер туралы қай тұжырымдар дұрыс?
- solve(n, k) функциясы математикалық тұрғыдан қандай шаманы есептейді?
- Функция берілген: def f(n): if n <= 1: return 1 return f(n - 1) + f(n - 2) f(6) шақырылғанда f функциясы барлы...
- Python-дағы open() функциясының файл режимін оның әрекетімен сәйкестендіріңіз.
- Графтың қабырғалары: 1–2, 2–3, 3–4, 4–1, 1–3, 3–5, 5–6, 6–3. Қай тұжырым дұрыс?
- Программа экранға не шығарады? def h(a, b): c = 0 while b: a, b = b, a % b c += 1 return a, c print(*h(987, 61...
- Программа орындалғанда ағымдағы каталогта log.txt файлы жоқ болған. Экранға не шығады? with open("log.txt", "w...