Информатика · ҰБТ сұрағы №13890
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(n, k) функциясы математикалық тұрғыдан қандай шаманы есептейді?
Дұрыс жауабы мен түсіндірмесі
Жауабы: C(n, k) біріктіру санын
Қайталану C(n,k) = C(n−1,k−1) + C(n−1,k) — Паскаль үшбұрышының ережесі, базалық жағдайлар C(n,0) = C(n,n) = 1.
«Алгоритмдер және программалау» тақырыбынан тағы
- Программаның соңғы print командасы қандай үш мәнді шығарады?
- Жадыны пайдаланбайтын solve(6, 2) шақыруы барлығы неше рет (бастапқыны қоса) орындалады?
- Программа бірінші print командасымен қандай мән шығарады?
- Функция берілген: def f(n): if n <= 1: return 1 return f(n - 1) + f(n - 2) f(6) шақырылғанда f функциясы барлы...
- Графтың көршілер тізімі: 1: [4, 2, 3]; 2: [5, 1]; 3: [6, 1, 5]; 4: [6, 1]; 5: [3, 2, 7]; 6: [7, 4, 3]; 7: [6,...
- Python-дағы open() функциясының файл режимін оның әрекетімен сәйкестендіріңіз.
- Көпіршікті сұрыптау (bubble sort) алгоритмі [5, 1, 4, 2, 8, 3, 7] тізбегін өсу ретімен сұрыптағанда көрші элем...
- Программа нәтижесін анықтаңыз: def r(s): if len(s) < 2: return 0 return (s[0] != s[-1]) + r(s[1:-1]) print(r("...