Example 7 The function $f(n)$ is defined on the set of positive integers and takes non-negative integer values, and for all $m, n$ we have
$$
\begin{aligned}
f(m+n)-f(m)-f(n) & =0 \text{ or } 1, \\
\text{and } f(2)=0, f(3)>0, f(9999) & =3333 .
\end{aligned}
$$

Find $f(1982)$.
Solution: Let $m=n=1$, then
$f(2)=2 f(1)+(0$ or 1$)$.
Since $f(2)=0, f(1)$ is a non-negative integer, hence $f(1)$ $=0$.
Let $m=2, n=1$, then
$f(3)=f(2)+f(1)+(0$ or 1$)$.
By $f(3)>0, f(2)=0, f(1)=0$ we get $f(3)$ $=1$.
Next, we prove: For $kk$, then $f(3 k) \geqslant k+1$,
$$
\begin{aligned}
f(9999) & \geqslant f(9999-3 k)+f(3 k) \\
& \geqslant 3333-k+k+1>3333 .
\end{aligned}
$$
- This contradicts the problem statement, so $f(3 k)=k$.
Thus, $1982=f(3 \times 1982)$
$$
\geqslant 3 f(1982) \text {. }
$$

That is, $f(1982) \leqslant \frac{1982}{3}<661$.
$$
\begin{array}{l}
\text { Also, } f(1982) \geqslant f(3 \times 660)+f(2)=660, \\
\therefore f(1982)=660 .
\end{array}
$$