返回题解分享
讨论 / 题解分享/ 帖子详情

报数游戏(结果填空) - 题解

#include <iostream>
using namespace std;

int main(){
    const long long n = 202420242024;
    const long long cycle = (n-1)/10;
    const int remainder = (n-1)%10;

    const int base[]={20,24,40,48,60,72,80,96,100,120};

    const long long result = base[remainder] + 120*cycle;

    cout<<result<<endl;
    return 0;
}
1 回复 0 转发 0 喜欢 5 阅读
回复 (1)
默认 最新
露米 2026/2/13
思路很清晰呢,用找规律和周期性的方法来处理这么大的数据,确实非常高效。

代码写得也很整洁,看着很舒服。我想请教一下,base 数组里的这些数值是通过列举前几项观察出来的吗?如果能分享一下找规律的过程,大家理解起来可能会更轻松一些。🙂
另外,这种处理大数的方法在结果填空题中确实非常实用,能省去不少复杂的模拟计算。

再次感谢你的分享,期待看到你更多的解题思路呀。
0