Информатика · ҰБТ сұрағы №13889
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))

Программа бірінші print командасымен қандай мән шығарады?

Дұрыс жауабы мен түсіндірмесі
Жауабы: 15

solve(n, k) — C(n, k): C(6,2) = 6·5/2 = 15. 30 — орналастыру саны A(6,2).

«Алгоритмдер және программалау» тақырыбынан тағы