[Solution] From conditions (i) and (ii), we can calculate the following table:
\begin{tabular}{c|c|c|c|c|c|c|c|c|c}
\hline$n$ & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\
\hline$f(n)$ & 1 & 1 & 3 & 1 & 5 & 3 & 7 & 1 & 9 \\
\hline \hline$n$ & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & \\
\hline$f(n)$ & 5 & 13 & 3 & 11 & 7 & 15 & 1 & 17 & \\
\hline
\end{tabular}

Converting the numbers in the above table to binary, we get:
\begin{tabular}{c|c|c|c|c|c|c|c|c|c}
\hline$n$ & 1 & 10 & 11 & 100 & 101 & 110 & 111 & 1000 & 1001 \\
\hline$f(n)$ & 1 & 1 & 11 & 1 & 101 & 11 & 111 & 1 & 1001 \\
\hline \hline$n$ & 1010 & 1011 & 1100 & 1101 & 1110 & 1111 & 10000 & 10001 \\
\hline$f(n)$ & 101 & 1101 & 11 & 1011 & 111 & 1111 & 1 & 10001 \\
\hline
\end{tabular}

Thus, we conjecture: $f(n)$ is equal to the binary number obtained by reversing the binary representation of $n$.

Next, we will prove that this conjecture is correct.
In fact, when $n=1,3$, the conjecture holds.
Assume that the conjecture holds for $n<k$. We will prove that the conjecture also holds for $n=k$. $\square$

In fact, if $k$ is even, then we can set the binary representation of $k$ as $\left(a_{l} a_{l-1} \cdots a_{1} 0\right)_{2}$, and the binary representation of $\frac{k}{2}$ as $\left(a_{l} a_{l-1} \cdots a_{1}\right)_{2}$. According to the known conditions and the induction hypothesis, we have $f(k)=f\left(\frac{k}{2}\right)=\left(a_{1} \cdots a_{l-1} a_{l}\right)_{2}$. Therefore, the conjecture holds when $k$ is even.

If $k=4 m+1 (m \in \mathbb{N})$, then we can set the binary representation of $k$ as
$$k=4 m+1=\left(a_{l} a_{l-1} \cdots a_{2} 01\right)_{2}$$

Thus,
$$m=\left(a_{l} a_{l-1} \cdots a_{2}\right)_{2}, 2 m+1=\left(a_{l} a_{l-1} \cdots a_{2} 1\right)_{2} \text{. At this point, according to the known conditions and the induction hypothesis, we have}$$
$$\begin{aligned}
f(4 m+1) & =2 f(2 m+1)-f(m) \\
& =\left(1 a_{2} \cdots a_{l-1} a_{l} 0\right)_{2}-\left(a_{2} \cdots a_{l-1} a_{l}\right)_{2} \\
& =2^{l}+2 f(m)-f(m) \\
& =2^{l}+f(m) \\
& =\left(10 a_{2} \cdots a_{l-1} a_{l}\right)_{2} .
\end{aligned}$$

This means that the conjecture also holds when $k=4 m+1$.
Similarly, it can be proven that the conjecture also holds when $k=4 m+3$.
By the principle of mathematical induction, the conjecture is proven.
According to the proven conjecture, the necessary and sufficient condition for $f(n)=n$ is
$$n=\left(a_{1} a_{2} \cdots a_{l}\right)_{2}=\left(a_{1} a_{l-1} \cdots a_{1}\right)_{2}$$

That is,
$$a_{i}=a_{l+1-i} \quad\left(i=1,2, \cdots,\left[\frac{l}{2}\right]\right)$$

When the number of binary digits of $n$ is even $2 S$, there are $2^{s-1}$ numbers $n$ that satisfy the above condition; when the number of binary digits of $n$ is odd $2 s+1$, there are $2^{s}$ numbers $n$ that satisfy the above condition.

Noting that $1988=(11111000100)_{2}$, and the 11-bit binary numbers greater than this number that satisfy $f(n)=n$ are only two:
$(11111111111)_{2}$ and $(11111011111)_{2}$,
the number of such numbers is
$$\begin{aligned}
& (1+1+2+2+4+4+8+8+16+16+32)-2 \\
= & 92 .
\end{aligned}$$
6・18 Let $N$ be the set of positive integers, and define the function $f$ on $N$ as follows:
(i) $f(1)=1, f(3)=3$;
(ii) For $n \in N$, we have
$$\begin{array}{l}
f(2 n)=f(n) \\
f(4 n+1)=2 f(2 n+1)-f(n) \\
f(4 n+3)=3 f(2 n+1)-2 f(n)
\end{array}$$

Find all $n$ such that $n \leqslant 1988$ and $f(n)=n$.