diff --git a/frontend/textbooks/algebra_8.html b/frontend/textbooks/algebra_8.html
index 25667a2..c061e37 100644
--- a/frontend/textbooks/algebra_8.html
+++ b/frontend/textbooks/algebra_8.html
@@ -3132,14 +3132,18 @@ function dragRender(){
if(restEl) restEl.textContent = '?';
const resEl = document.getElementById('drag-result');
if(resEl) resEl.textContent = '';
- // generate multipliers
+ // generate multipliers — сначала ВСЕ делители-квадраты из набора, потом добавки
+ const CAND = [4,9,16,25,36,49,64,81,100,121];
const mults = new Set([t.sq]);
- while(mults.size < 5){
- const m = [4,9,16,25,36,49,64,81][Math.floor(Math.random()*8)];
- if(t.n % m === 0) mults.add(m);
- else if(mults.size < 3) mults.add(m);
+ // 1) добавим все настоящие делители-квадраты
+ for(const m of CAND){ if(t.n % m === 0) mults.add(m); }
+ // 2) добавим случайные «отвлекающие» до 5 штук, max 30 попыток (страховка от инф.цикла)
+ let safety = 0;
+ while(mults.size < 5 && safety++ < 30){
+ const m = CAND[Math.floor(Math.random()*CAND.length)];
+ mults.add(m);
}
- const arr = [...mults].sort((a,b)=>a-b);
+ const arr = [...mults].slice(0,5).sort((a,b)=>a-b);
const g = document.getElementById('drag-mults');
if(!g) return;
g.innerHTML = '';