randRange( 3, 15 ) randRange(2, 10) * FACTOR randRange(2, 10) * FACTOR getGCD( NUM, DENOM ) getPrimeFactorization(GCD) (function(){ var factorValue = 1; var factorDisplay = ""; var hint = "\\dfrac{" + NUM + "}{" + DENOM + "}"; $.each( GCD_FACTORS, function( index, value) { factorValue *= value; var dot = index === 0 ? "" : "\\cdot "; factorDisplay += dot + value; hint += "= \\dfrac{" + factorDisplay + "\\cdot" + NUM / factorValue + "}{" + factorDisplay + "\\cdot" + DENOM / factorValue + "}"; }); hint += "= \\dfrac{" + NUM / GCD + "}{" + DENOM / GCD + "}"; return hint; })()

Simplify to lowest terms.

`\dfrac{NUM}{DENOM}`

NUM / DENOM

There are several ways to tackle this problem.

What is the greatest common factor (GCF) of `NUM` and `DENOM`?

`NUM = getPrimeFactorization( NUM ).join( "\\cdot" )`
`DENOM = getPrimeFactorization( DENOM ).join( "\\cdot" )`

The only common factor of `NUM` and `DENOM` is `GCD`.

The common factors of `NUM` and `DENOM` are toSentenceTex(GCD_FACTORS).

So the greatest common factor is `GCD_FACTORS.join("\\cdot") = GCD`

`\dfrac{NUM}{DENOM} = \dfrac{NUM / GCD \cdot GCD}{ DENOM / GCD\cdot GCD}`

`\hphantom{\dfrac{NUM}{DENOM}} = \dfrac{NUM / GCD}{DENOM / GCD} \cdot \dfrac{GCD}{GCD}`

`\hphantom{\dfrac{NUM}{DENOM}} = \dfrac{NUM / GCD}{DENOM / GCD} \cdot 1`

`\hphantom{\dfrac{NUM}{DENOM}} = \dfrac{NUM / GCD}{DENOM / GCD}`

You can also solve this problem by repeatedly breaking the numerator and denominator into common factors.

For example:

`HINT`