Qo‘llanma · Dasturlash
brute-force
Masalalar tez orada
Nazariya
To‘liq perebor — barcha variantlarni tekshirib, mosini tanlash. Eng oddiy va eng ishonchli yechim:
agar n kichik bo‘lsa (masalan, 10–20 gacha), ko‘pincha shuning o‘zi yetadi.
from itertools import combinations, permutations, product
best = max(sum(c) for c in combinations(nums, 3) if sum(c) <= limit) # 3 tadan tanlash
for p in permutations(range(n)): ... # barcha tartiblar
for bits in product([0, 1], repeat=n): ... # barcha qism to‘plamlar
Qachon ishlatiladi
- Chegaralar kichik — to‘g‘ridan-to‘g‘ri yechim.
- Tez yechimni tekshirish uchun: kichik testlarda ikkalasining javobini solishtiring (stress-test).
- Naqsh izlash: kichik
nlar uchun javoblarni chiqarib, formulani ko‘rish.
Avval variantlar sonini hisoblang: 2²⁰ ≈ 10⁶ — bemalol, 2⁴⁰ — yo‘q.
Bu mavzu bo‘yicha masalalar tez orada qo‘shiladi.