7.120 The number of polynomials $f$ of degree $\geqslant 1$ that satisfy $f\left(x^{2}\right)=[f(x)]^{2}=f(f(x))$ is
(A) 0.
(B) 1.
(C) 2.
(D) A finite integer greater than 2.
(E) Infinitely many. (38th American High School Mathematics Examination, 1987)
[Solution] First, prove that the polynomial satisfying $f\left(x^{2}\right)=[f(x)]^{2}$ has the form $f(x)=x^{n}(n \geqslant 1)$.

If not, let $f(x)=a_{n} x^{n}+a_{n-1} x^{n-1}+\cdots+a_{1} x+a_{0}\left(a_{n} \neq 0\right)$, then by the given condition $f\left(x^{2}\right)=[f(x)]^{2}$ we have
$$
\begin{aligned}
& a_{n} x^{2 n}+a_{n-1} x^{2 n-2}+\cdots+a_{1} x^{2}+a_{0} \\
= & a_{n}^{2} x^{2 n}+2 a_{n} a_{n-1} x^{2 n-1}+\left(a_{n-1}^{2}+2 a_{n} a_{n-2}\right) x^{2 n-2}+\cdots+a_{0}^{2},
\end{aligned}
$$

By the condition of polynomial identity, we have
$$
\left\{\begin{array}{l}
a_{n}=a_{n}^{2}, \\
2 a_{n} a_{n-1}=0, \\
a_{n-1}^{2}+2 a_{n} a_{n-2}=a_{n-1}, \\
2 a_{n} a_{n-3}=0, \\
\cdots \cdots \cdots \\
a_{0}=a_{0}^{2} .
\end{array}\right.
$$

By $a_{n} \neq 0$, we have $a_{n-1}=a_{n-3}=\cdots=0$, and $a_{n-2}=a_{n-4}=\cdots=0$.
And $a_{n}=1$. Thus, $f(x)=x^{n}$.
Also, by $f\left(x^{2}\right)=f(f(x))$, we have $x^{2 n}=\left(x^{n}\right)^{n}=x^{n^{2}}$, then $2 n=n^{2}$.
Since $n \geqslant 1$,
$\therefore n=2$, i.e., only $f(x)=x^{2}$ satisfies the given condition.
Therefore, the answer is $(B)$.