Visual Factorization Illustration
Loading the math board and drawing, please wait…
This example allows users to input an integer and visually explore all possible pairs of divisors that multiply to produce the number, based on its prime factorization. It covers core concepts like factors, prime factorization, LCM, and GCD. The construction leverages GeoGebra commands such as Factors, Join, Sequence, Element, Textfield, Min, Corner, Max, If, and Text, along with objects like list1, factors, points, and inputBox1. It's suitable for middle school and above, providing an intuitive understanding of multiplication and factor relationships.
GeoGebra Commands & Parameters
Factors(n) → fmJoin(Sequence[Sequence[Element[Element[fm, i], 1], j, 1, Element[Element[fm, i], 2]], i, 1, Length[fm]]) → factorsSequence(If[Element[bools, i] ∧ (Length[factors] ≥ i), Element[factors, i], 1], i, 1, Length[bools]) → list1Sequence(((floor(i / prows) * d), (Mod[i, prows] * d)) + (ts * Vector[((floor(i / prows) * d), (Mod[i, prows] * d)), (((floor(i / rows) * d), Mod[i, rows]) * d)]), i, 0, n - 1) → pointsElement(points, n) → MXTextfield(n) → inputBox1Sequence(If[(¬Element[bools, i]) ∧ (Length[factors] ≥ i), Element[factors, i], 1], i, 1, Length[bools]) → list2Min(Sequence[If[Element[bools, i], i, 10000], i, 1, Length[bools]]) → minTrueMin(Sequence[If[¬Element[bools, i], i, 10000], i, 1, Length[bools]]) → minFalseSequence(If[(i ≤ Length[factors]) ∧ Element[bools, i], If[i > minTrue, "\times", ""] + (Element[list1, i]), ""], i, 1, Length[bools]) → rtSequence(If[(i ≤ Length[factors]) ∧ (¬Element[bools, i]), If[i > minFalse, "\times", ""] + (Element[list2, i]), ""], i, 1, Length[bools]) → ctCorner(5) → GVMax(Sequence[If[¬Element[bools, i], i, 0], i, 1, Min[Length[bools], Length[factors]]]) → maxFalseMax(Sequence[If[Element[bools, i], i, 0], i, 1, Min[Length[bools], Length[factors]]]) → maxTrueSequence(Circle[Element[points, i], (0.3 * d)], i, 1, n) → list3If(MXratio > ratio, innerW / ratio, innerH) → finHIf(MXratio > ratio, innerW, (innerH * ratio)) → finWText(If[rows ≟ 1, "1", Element[rt, 1] + (Element[rt, 2]) + (Element[rt, 3]) + (Element[rt, 4]) + (Element[rt, 5]) + (Element[rt, 6]) + (Element[rt, 7]) + (If[minTrue ≟ maxTrue, "", "=" + rows])], RT, false, true) → text1Text(If[cols ≟ 1, "1", Element[ct, 1] + (Element[ct, 2]) + (Element[ct, 3]) + (Element[ct, 4]) + (Element[ct, 5]) + (Element[ct, 6]) + (Element[ct, 7]) + (If[minFalse ≟ maxFalse, "", "=" + cols])], CT, false, true) → text2Sequence(If[Element[bools, i], "darkgreen", "red"], i, 1, Length[bools]) → colors