Files
Learn_System/frontend
Maxim Dolgolyov 62d50e00ae fix(textbooks): infinite loop в §4 dragRender зависал страницу
В dragRender() (Drag 'упрости √') был while-цикл, который требовал 5 уникальных значений из набора [4,9,16,25,36,49,64,81]. Логика:
- если делит t.n нацело → всегда добавляем
- иначе → добавляем только если size<3

Для t.n=50: единственный делитель из набора это 25. После добавления sq+2 произвольных (size=3), цикл требует только делители — других нет → бесконечный цикл → зависание.

Аналогично ломалось на: 200, 48 и др.

Фикс:
1) сначала добавляем ВСЕ делители-квадраты из расширенного набора (100, 121 включены)
2) затем добивает случайными до 5 штук с лимитом 30 итераций (страховка)
3) берётся slice(0,5) на случай если ВСЕ 10 кандидатов делят t.n
2026-05-27 12:44:22 +03:00
..