1 条题解

  • 0
    @ 2026-5-28 8:34:41

    题目

    第一问:提取 nmn^m 的前 5 位。

    1n231,1m1e71\le n\le 2^{31},1\le m \le 1e7

    sol

    有一种比较神秘的第一问做法。

    考虑到和位数有关,根据前几天某题的经验,可以取以十为底的对数。

    lgnm=mlgn=tmp\lg n^m=m\lg n=tmp

    这玩意可以直接用 c++ 函数 log10() 算出来。

    注意到 tmp 可以拆成整数部分 z 和小数部分 f

    nm=10tmp=10z10fn^m=10^{tmp}=10^z\cdot 10^f

    发现 10z10^z 和值没有关系。

    10f10^f 的最高几位就是 nmn^m 的最高几位。

    信息

    ID
    736
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    5
    已通过
    5
    上传者