Программа орындалғанда қандай екі сан шығады? from functools import lru_cache @lru_cache(maxsize=None) def f(n): return n if n < 2 else f(n - 1) + f(n - 2) f(10) i = f.cache_info() print(i.hits, i.misses)
Дұрыс жауабы мен түсіндірмесі
Жауабы: 8 11
f(0) … f(10) — 11 әртүрлі аргумент, олардың әрқайсысы бір рет есептеледі (11 miss). Әр n ≥ 2 үшін f(n−2) екінші шақыруда кэштен алынады: 10 − 2 = 8 hit.
«Алгоритмдер және программалау» тақырыбынан тағы
- print(sum(map(len, by_city.values())), len(by_city), len(rows)) қандай үш сан шығарады?
- Массив берілген: [2, −3, 5, −1, 4, −8, 6, 1, −2, 3]. Бос емес бірізді бөліктің (ішкі массивтің) ең үлкен қосын...
- Тапсырмалар арасындағы тәуелділіктер (X→Y — X тапсырмасы Y-тен бұрын орындалуы тиіс): D→A, E→B, A→C, B→C, C→F,...
- total[name] = total.get(name, 0) + int(val) жолы total[name] += int(val) жолымен ауыстырылды. Бағдарламаның жұ...
- Рекурсивті функция берілген: def j(n, k): if n == 1: return 0 return (j(n - 1, k) + k) % n j(10, 3) қандай мән...
- Массив [6, 2, 9, 4, 7, 1, 8] бинарлы үйінді (max-heap) ретінде сол массивтің өзінде түрлендіріледі: i түйіннің...
- Деректер құрылымын оның типтік қолданылуымен сәйкестендіріңіз.
- Берілген функцияда f(6) шақырылғанда f барлығы неше рет орындалады (бастапқы шақыруды қоса)? def f(n): if n <=...