0 1 randRange(2, 10) randFromArray([2, 3, 4, 5, 10]) getPrimeFactorization(CUBE) $.map(CUBE_FACTORS, function(x) {return "(" + x + "\\times " + x + "\\times " + x + ")"; }) $.map(CUBE_FACTORS, function(x) {return "\\sqrt[3]{" + x + "\\times " + x + "\\times " + x + "}"; }) getPrimeFactorization(NOT_CUBE) NOT_CUBE * CUBE * CUBE * CUBE getPrimeFactorization(Q) PRIMES.slice(1, PRIMES.length - 1) Q

\Large{\sqrt[3]{Q} = \text{?}}

Q

\sqrt[3]{Q} is the number that, when multiplied by itself three times, equals Q.

First break down Q into its prime factorization and look for factors that appear three times.

Let's draw a factor tree.

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

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

Notice that we can rearrange the factors like so:

Q = PRIMES.join(" \\times ") = MULTIPLES.join(" \\times ") \times NOT_CUBE_FACTORS.join("\\times ")

So \sqrt[3]{Q} = ROOTS.join(" \\times ") \times \sqrt[3]{NOT_CUBE_FACTORS.join("\\times ")}

\sqrt[3]{Q} = CUBE_FACTORS.join("\\times ") \times \sqrt[3]{NOT_CUBE_FACTORS.join("\\times ")}

\sqrt[3]{Q} = CUBE \sqrt[3]{NOT_CUBE}