3. $N$ is the set of positive integers. Define the function $f$ on $N$ as follows:
$f(1)=1, f(3)=3$, and for $n \in N$ we have $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)$.

Question: How many $n \in N$, and $n \leqslant 1988$ such that $f(n) = n$?
3. According to these formulas, we can find

The pattern shown in this table seems to be
$$
\begin{array}{l}
f\left(2^{k}\right)=1, f\left(2^{k}-1\right)=2^{k}-1, \\
f\left(2^{k}+1\right)=2^{k}+1 .
\end{array}
$$

This suggests that we should consider the "binary" expansion of natural numbers. Our conjecture is:
$f(n)$ is the binary number formed by the reverse arrangement of the binary expansion of $n$.

We will prove this conjecture using induction. Since $f(2n) = f(n)$, we only need to consider the case where $n$ is odd. If $n$ is of the form $4m+1$, let
$$
\begin{array}{c}
4 m+1=\varepsilon_{k} 2^{k}+\cdots+\varepsilon_{1} 2+\varepsilon_{0} \cdot 1 \\
\left(\varepsilon_{\mathrm{i}}=0,1\right) \text {. Clearly, we should have } \varepsilon_{0}=1, \varepsilon_{1}=0 \text {. Then }
\end{array}
$$

we have
$$
4 n=\varepsilon_{k} 2^{2}+\cdots+\varepsilon_{2} 2^{2} .
$$

This gives
$$
m=\varepsilon_{k} 2^{k-2}+\cdots+\varepsilon_{3} 2+e_{2} .
$$

Thus,
$$
2 m+1=\varepsilon_{k}^{2 k-1}+\cdots+\varepsilon_{3} 2^{2}+\varepsilon_{2} \cdot 2+1 .
$$

By the induction hypothesis,
$$
\begin{array}{l}
f(2 m+1)=2^{k-1}+\sum_{\mathrm{j}=2}^{k} e_{1} 2^{k-1}, \\
f(m)=\sum_{\mathrm{j}=2}^{k} e_{1} 2^{k-1} .
\end{array}
$$

This leads to
$$
\begin{array}{l}
f(4 m+1)=2 f(2 m+1)-f(m) \\
=2^{k}+\sum_{\mathrm{j}=2}^{k} \varepsilon_{1} 2^{k+1-1}-\sum_{\mathrm{j}=2}^{k} e_{\mathrm{j}} 2^{k-j} \\
=2+\sum_{\mathrm{j}=2}^{k} e_{1} 2^{k-1} \\
=\sum_{j=0}^{k} \varepsilon_{1} 2^{x-1},
\end{array}
$$

which is consistent with our conjecture.
Now, let $n$ be of the form $4m+3$, and assume
$$
4 m+3=\sum_{\mathrm{j}=0}^{\mathrm{k}} \varepsilon_{\mathrm{j}} 21 .
$$

Clearly, in this case, $\varepsilon_{0}=\varepsilon_{1}=1$. Therefore,
$$
\begin{array}{l}
4 m=\sum_{\mathrm{j}=2}^{k} \varepsilon_{1} 2!, \\
m=\sum_{\mathrm{j}=2}^{k} e_{1} 2^{1-2}, \\
2 m+1=1+\sum_{\mathrm{j}=2}^{k} \varepsilon_{\mathrm{j}} 2^{1-1} .
\end{array}
$$

Thus, by definition and the induction hypothesis,
$$
f(4 m+3)=3 f(2 m+1)-2 f(m)
=3 \sum_{j=1}^{k} \varepsilon_{1} 2^{k-1}-2 \sum_{j=2}^{k} \varepsilon_{1} 2^{k-1}
=\varepsilon_{i} 2^{j}+\sum_{j=1}^{k} \varepsilon_{1} 2^{k-1} \text{ (since } \varepsilon_{1}=\varepsilon_{0} \text{ )}
=\sum_{j=0}^{k} \varepsilon_{1} 2^{k-1}.
$$
This completely confirms our conjecture.
Next, we discuss binary numbers with $2m$ digits
$\left(x_{1}, x_{2}, \cdots, x_{n}, y_{1}, y_{2}, \cdots, y_{n}\right)$.

Of course, $x_{1}=1$. If this number has the property:
$\left(x_{1}, x_{2}, \cdots, x_{3}, y_{1}, y_{2}, \cdots, y_{n}\right)
=\left(y_{n}, \cdots, y_{2}, y_{1}, x_{n}, \cdots, x_{2}, x_{1}\right)$.
We call it symmetric. This indicates that a symmetric binary number is completely determined by the first $m$ digits $x_{1}, x_{2}, \cdots, x_{\mathrm{n}}$. Since $x_{1}=1$, and each of $x_{2}, \cdots, x_{\mathrm{m}}$ can be any of the two digits 0,1. Therefore, there are exactly $2^{m-1}$ symmetric binary numbers with $2m$ digits.

Symmetric binary numbers with $2m-1$ digits can also be defined in an obvious way, and the number of such numbers can also be proven to be $2^{m-1}$.

Finally, we look at how many numbers between 1 and 1988 can be expressed as symmetric binary numbers. Since $1024<1988<2048$, i.e., $2^{10}<1988<2^{11}$. Therefore, the number of symmetric binary numbers less than 2048 is
$1+1+2+2+4+4+8+8+16+16+32 = 94$.

In fact, $1988=(11111000100)_{2}$, and we can see that there are only two 11-bit symmetric binary numbers exceeding this number, namely $(1111011111)_{2}$ and $(1111111111)_{2}$.
So there are $94-2=92$ natural numbers $n$ not exceeding 1988 such that $f(n)=n$.