Example 4 Given a positive integer $n(n \geqslant 3)$, arrange several distinct positive integers in a circle so that the product of any two adjacent numbers is less than $n$. How many numbers can there be at most on the circle?
Analysis: Let the maximum number of numbers on a circle when the product of any two adjacent numbers is less than $n$ be $f(n)$.
Starting with special cases, it is easy to know
$$
f(3)=f(4)=f(5)=f(6)=2 \text {. }
$$

The key to solving the problem is to realize that any two of the numbers $2,3,4,5,6$ cannot be adjacent. We call these numbers "large numbers" (otherwise, they are called "small numbers"). Thus, at most one large number can be arranged on the circle. In addition, the number 1 can also be arranged. This leads us to think that, for the general case, no two large numbers can be adjacent, so at most one large number can be inserted between any two small numbers. Therefore, by analyzing the number of small numbers, we can estimate the number of numbers on the circle.

Solution: If a number $k$ satisfies $k(k+1)<n$, then $k$ is called a small number; otherwise, it is called a large number.

Using the sequence $\left\{a_{k}=k(k+1)\right\}$, we can divide all positive integers into several groups $\bigcup_{k=0}^{\infty}\left(a_{k}, a_{k+1}\right]$. Then the given $n$ always belongs to one of these groups. Suppose
$$
k(k+1)<n \leqslant(k+1)(k+2) .
$$

Then, $k+1, k+2, \cdots$ are all large numbers. Since no two large numbers can be adjacent, that is, at most one large number can be inserted between any two small numbers, the number of large numbers on the circle is no more than the number of small numbers. There are at most $1,2, \cdots, k$ small numbers on the circle, so $f \leqslant k+k=2 k$.
Next, consider whether, when $k$ satisfies
$$
k(k+1)<n \leqslant(k+1)(k+2)
$$

it is possible to construct $2 k$ numbers on the circle such that the product of any two adjacent numbers is less than $n$?

To make $f=2 k$, we need to consider the conditions under which the equality holds. Only each small number can be inserted between two adjacent large numbers. Now, consider the position where the largest small number $k$ is inserted. On both sides of $k$, there is a large number, and at least one of these large numbers $p \geqslant k+2$.

Since $k$ is adjacent to $p$, when $k(k+1)<n \leqslant k(k+2)$, the construction cannot be realized (because there exist adjacent numbers on the circle whose product $k p \geqslant k(k+2) \geqslant n$), so $f \neq 2 k$, i.e., $f \leqslant 2 k-1$.

When $k(k+1)<n \leqslant k(k+2)$, it is possible to construct $2 k-1$ numbers on the circle such that the product of any two adjacent numbers is less than $n$.

From the conditions under which the equality holds, each large number can only be inserted into the "gap" formed by two adjacent small numbers, and each gap can only insert one large number. Thus, we can obtain the following construction:

First, arrange $1,2, \cdots, k-1, k$ in a straight line, then insert $2 k-1,2 k-2,3, \cdots, k+1$ into the $k-1$ gaps formed, resulting in $1,2 k-1,2,2 k-2, \cdots, k-1, k+1, k$. Then arrange this sequence in a circle, at this point the largest product of adjacent numbers is $k(k+1)<n$.
Thus, when $k(k+1)<n \leqslant k(k+2)$,
$f_{\text {max }}=2 k-1$.
When $k(k+2)<n \leqslant(k+1)(k+2)$, it is possible to construct $2 k$ numbers on the circle such that the product of any two adjacent numbers is less than $n$.

Similarly, from the conditions under which the equality holds, each large number can only be inserted into the gap formed by two adjacent small numbers, and each gap can only insert one large number, thus we can obtain the following construction:

First, arrange $1,2, \cdots, k-1, k$ in a straight line, then insert $2 k, 2 k-1,2 k-2, \cdots, k+1$ into the $k$ gaps (including the last gap) formed, resulting in $1,2 k, 2,2 k-1,3,2 k-2, \cdots, k-1, k+2, k, k+1$. Then arrange this sequence in a circle, at this point the largest product of adjacent numbers is $k(k+2)<n$.

In summary, when $k(k+1)<n \leqslant k(k+2)$, $f_{\text {max }}=2 k-1$;

When $k(k+2)<n \leqslant(k+1)(k+2)$, $f_{\text {max }}=2 k$.