Three, from the 1995 natural numbers $1,2,3, \cdots$, 1995, remove some numbers so that in the remaining numbers, no number is equal to the product of any two other numbers. How many numbers must be removed at a minimum to achieve this?
(1) First, prove: When any 42 numbers are removed, there will be three numbers among the remaining numbers, such that the product of two of them equals the third.

We consider the array $(2,87,2 \times 87),(3,86,3 \times 86)$, $\cdots,(44,5,44 \times 45)$,
i.e., $(x, 89-x, x(89-x))(2 \leqslant x \leqslant 44)$.
$$
\begin{array}{l}
\because x(89-x)=89 x-x^{2}=44.5^{2}-(44.5-x)^{2}, \\
\therefore \text { when } x \text { takes } 2,3, \cdots, 44 \text {, } x(89-x) \text { are all different, and } \\
x(89-x) \leqslant 44.5^{2}-(44.5-44)^{2} \\
=44 \times 45=19801995.
\end{array}
$$
Combining the above, we know that at least 43 numbers need to be removed.