[NOIp2003] 麦森数 题解

考虑这样一个性质。

我们定义 (operatorname{Digit}(x))(x) 的数位个数。

显然 (operatorname{Digit}(2^p)=operatorname{Digit}(2^p-1)) ,至于为什么,请读者自证。

则必有一个数 (x) 使得 (operatorname{Digit}(10^x)=operatorname{Digit}(2^p)=operatorname{Digit}(2^p-1)).

稍微推一下式子就可以得到 (operatorname{Digit}(2^p-1)=plog^2_{10}+1) .

第一问解决。

然后快速幂和高精度直接求最后 (500) 位即可。注意换行。

题解清楚么?

原文地址:https://www.cnblogs.com/Inversentropir-36/p/13299388.html