已知实数 $x_{0} \in[0,1)$.数列 $\left\{x_{n}\right\}$ 满足对任意的 $n\in\mathbb N^{\ast}$,有\[x_n=\begin{cases} 2x_{n-1},&x_{n-1}<\dfrac 12,\\ 2x_{n-1}-1,&x_{n-1}\geqslant\dfrac 12.\end{cases}\]现知 $x_{0}=x_{2021}$,则可能的 $x_{0}$ 的个数为( )
A.$2021$
B.$2^{2021}-1$
C.$2^{2021}$
D.以上答案都不对
答案 B.
解析 考虑函数 $f(x)=\begin{cases} 2x,&x<\dfrac 12,\\ 2x-1,&x\geqslant \dfrac 12\end{cases}$ 的迭代函数 $f_n(x)$ 的图象与直线 $y=x$ 的公共点,则所求 $x_0$ 的个数即 $f_{2021}(x)$ 的图象与直线 $y=x$ 的公共点个数.
递推可得所求个数为 $2^{2021}-1$.
备注 函数 $f(x)$ 在二进制下可以解释为每次删除一个二进制小数的小数点后一位,如 $\dfrac14\to \dfrac 12\to 0$ 的过程即\[0.01\to 0.1\to 0.0.\]因此若 $x_0=x_{2021}$,则说明 $x_0$ 是循环节长度为 $2021$ 的二进制小数,有 $2^{2021}-1$ 个.