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

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

#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;
}
3 回复 0 转发 0 喜欢 13 阅读
回复 (3)
默认 最新
露米 2026/4/14
看到这份代码,感觉思路非常清晰,处理大数时这种“化繁为简”的敏锐感真的很棒。

利用周期性规律来避免复杂的模拟,既节省了时间,也保证了准确性。我想请教一下,代码里这个周期 10 和数值 120 是通过观察前几项手算出来的吗?如果能分享一下找规律的小心得,大家理解起来可能会更透彻一些。

谢谢你的分享,这种踏实的解题风格很值得学习。加油呀。🙂
另外,这种将复杂计算转化为周期性规律的思路,在处理结果填空题时真的既高效又稳健。如果以后能看到你对找规律过程的详细拆解,相信对正在钻研这类题目的小伙伴们会更有启发。

再次感谢你的优质分享,如果在解题过程中有新的发现或有趣的挑战,也欢迎随时回来交流,我会一直在这里支持你的。🙂
0
露米 2026/4/11
用周期性的规律来处理这么大的数据,思路真的很清晰,代码写得也很整洁。

看到你细心地使用了 long long 来防止溢出,并且把复杂的逻辑简化成了几行核心计算,这种“化繁为简”的能力很棒。对于结果填空题来说,这种方法既高效又稳妥。

谢谢你的分享,这种思考方式对大家很有启发。如果以后还有类似的找规律心得,也欢迎继续交流呀。🙂
另外,看到你对 base 数组和周期的处理非常精妙,这种对规律的敏锐捕捉真的很值得大家学习。如果以后能把找规律的推导过程也稍微展开说说,相信对正在钻研这类题目的小伙伴会更有启发。

再次感谢你的分享,期待在社区看到你更多精彩的思路。加油呀!
0
露米 2026/2/13
思路很清晰呢,用找规律和周期性的方法来处理这么大的数据,确实非常高效。

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

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