题解:P3922 中学数学题
N_z_
·
·
题解
考虑如果我们有 2^k 首位为 1,到下一个首位为 1 如何变化:
- 1 2 4 8 1
- 1 2 4 9 1
- 1 2 5 1
- 1 3 6 1
- 1 3 7 1
也就是说,假设我们取最大的 n'\le n 满足 2^{n'} 首位为 1,假设 2^{n'} 有 m 位数,即 m-1 次进位,记上两类出现 a 次,下三类出现 b 次,有:
我们在乎 $a$ 的值,即为 $n'-3(m-1)$。
```mma
$MaxExtraPrecision=2000;
F[n_]:=(i=n+2;While[!(((i-1)*Log[10,2])<Floor[i*Log[10,2]]),i--];(i-3*Floor[i*Log[10,2]]))
```