题目链接
我的思路略复杂,这里介绍一个比较简洁的做法。
对于 $b le sqrt{N}$,暴力枚举 $b$。对于 $b > sqrt{N}$, 注意到在 $b$ 进制下 $N$ 至多有 2 个数位,且最高位的取值小于 $sqrt{N}$,此时可以暴力枚举最高位上的数字。
若数据范围扩大到 $10^{18}$ 该怎么做?