12.148 For any natural number $k$, we call a rectangle of size $1 \times k$ a "strip". Find all natural numbers $n$, such that a rectangle of size $1995 \times n$ can be divided into a set of strips, all of different sizes.
[Solution] Clearly, the edges of all the strips divided should be parallel to the edges of the given large rectangle. We will solve the problem by dividing it into two cases.

(1) Suppose $n<1995$. In this case, the maximum length of the strips that can be divided is 1995. Therefore, the number of different-sized strips is at most 1995, and the area they can cover is at most
$$
1+2+\cdots+1995=\frac{1}{2} \times 1996 \times 1995=998 \times 1995.
$$

This immediately gives $n \leqslant 998$.
For each natural number $n \leqslant 998$, first draw a set of parallel lines parallel to the long side of the rectangle, dividing the rectangle into $n$ strips of length 1995. Then, leave the first strip as it is, divide the second strip into two strips of lengths 1 and 1994, divide the third strip into two strips of lengths 2 and 1993, and so on. This way, the entire $1995 \times n$ rectangle can be divided into strips of different sizes.
(2) Suppose $n \geqslant 1995$. In this case, the longest strip that can be divided has a length of $n$. The area covered by a set of strips of different sizes with lengths not exceeding $n$ is at most
$$
\begin{array}{c}
1+2+\cdots+n=\frac{1}{2} n(n+1), \\
1995 n \leqslant \frac{1}{2} n(n+1).
\end{array}
$$

This gives $n \geqslant 3989$. It is easy to see that a similar method to (1) can always divide the $1995 \times n$ rectangle into strips of different sizes.
In summary, the natural numbers $n$ that satisfy the condition are $n \leqslant 998$ and $n \geqslant 3989$.