hundreds(x) = floor(x / 100)
tens(x) = floor((x - (100 * hundreds(x))) / 10)
ones(x) = floor(x - (100 * hundreds(x)) - (10 * tens(x)))
l1 = Sequence(k, k, 1, 999)
digitProduct(x) = If[x ≥ 100, ((hundreds(x) * tens(x)) * ones(x)), (tens(x) * ones(x))]
n = 77 (slider from 1 to 199, step 1)
a: floor(n / 10)
l2 = Sequence(digitProduct(l1(k)), k, 1, Length[l1])
b: n - (10 * a)
c: (a * b)
l3 = Sequence(digitProduct(l2(k)), k, 1, Length[l2])
l4 = Sequence(digitProduct(l3(k)), k, 1, Length[l3])
grid = Flatten(Sequence[Sequence[(j, k), j, 0, 9], k, 0, 99])
l5 = Sequence(digitProduct(l4(k)), k, 1, Length[l4])
l6 = Sequence(digitProduct(l5(k)), k, 1, Length[l5])
A = Element(grid, n + 1)
l7 = Sequence(PolyLine[Element[grid, l1(k) + 1], Element[grid, l2(k) + 1], Element[grid, l3(k) + 1], Element[grid, l4(k) + 1], Element[grid, l5(k) + 1], Element[grid, l6(k) + 1]], k, 1, Length[l1])
f = PolyLine(Element[grid, l1(n) + 1], Element[grid, l2(n) + 1], Element[grid, l3(n) + 1], Element[grid, l4(n) + 1], Element[grid, l5(n) + 1], Element[grid, l6(n) + 1])
text1: "" + n + ""
g = Segment(grid(1), grid(10))
d: digitProduct(77)
e: Length[l6] - CountIf[x ≟ 0, l6]