4.53 For a given positive integer $n$, let $p(n)$ denote the product of the non-zero digits of $n$ (if $n$ is a single digit, then $p(n)$ is that digit). If $S = p(1) + p(2) + p(3) + \cdots + p(999)$, what is the largest prime factor of $S$?
(12th American Invitational Mathematics Examination, 1994)
[Solution] Consider all positive integers less than 1000. If a number is not a three-digit number, we pad it with 0s at the front to make it a three-digit number.
The sum of the products of the digits of all such positive integers is
$$
\begin{aligned}
& 0 \cdot 0 \cdot 0 + 0 \cdot 0 \cdot 1 + 0 \cdot 0 \cdot 2 + \cdots + 9 \cdot 9 \cdot 8 + 9 \cdot 9 \cdot 9) - 0 \cdot 0 \cdot 0 \\
= & (0 + 1 + 2 + \cdots + 9)^{3} - 0 .
\end{aligned}
$$

However, $p(n)$ is the product of the non-zero digits of $n$, and this sum can be obtained by replacing 0 with 1 in the above expression. Thus,
$$
\begin{array}{l}
\sum_{n=1}^{999} p(n) = (1 + 1 + 2 + 3 + \cdots + 9)^{3} - 1 \\
\quad = 46^{3} - 1 = 3^{3} \cdot 5 \cdot 7 \cdot 103 .
\end{array}
$$

Therefore, the largest prime factor sought is 103.