题解:P3922 中学数学题

· · 题解

考虑如果我们有 2^k 首位为 1,到下一个首位为 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]])) ```