0 0 randRange( 2, 12 ) getPrimeFactorization( N )

Si no se te ocurre ese número, puedes descomponer Q en sus factores primos y buscar por grupos iguales de números.

Dibujemos un árbol de factores.

init({range:[[-1,FACTORIZATION.length+2],[-2*FACTORIZATION.length-1,1]],scale:[30,30]}),label([cx+1,y],curr)
path([[cx+1,y-.5],[cx,y-1.5]]),path([[cx+1,y-.5],[cx+2,y-1.5]]),y-=2,cx+=1,curr/=factor,label([cx-1,y],factor),circle([cx-1,y],.5),label([cx+1,y],curr)
circle([cx+1,y],.5)

So the prime factorization of Q is PRIMES.join( "\\times " ).

N * N getPrimeFactorization( Q ) PRIMES.slice( 0, PRIMES.length - 1 ) Q

\Large{\sqrt{Q} = \text{?}}

N

\sqrt{Q} es el número que multiplicado por sí mismo es igual a Q.

Estamos buscando \sqrt{Q}, así que queremos dividir los factores primos en dos grupos idénticos.

Sólo tenemos dos factores primos y queremos separarlos en dos grupos, así que esto es fácil.

Q = PRIMES.join( "\\times " ), así que N^2 = Q.

Observa que podemos reorganizar los factores como:

Q = PRIMES.join(" \\times ") = \left(F_N.join( "\\times " )\right) \times \left(F_N.join(" \\times ")\right)

Así que \left(F_N.join( "\\times " )\right)^2 = N^2 = Q.

Así que N^2 = Q.

Así que \sqrt{Q} es N.