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

星期计算(结果填空) - 题解

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
typedef long long ll;
using namespace std;
int main(){
	ll tianshu=1 ;
	for(int i=1;i<=22;i++){
		tianshu*=20;
		tianshu%=7;
	}
	int dayIn=6;
	int res=(6+tianshu-1)%7+1;cout<<res;
	
}
1 回复 0 转发 1 喜欢 4 阅读
回复 (1)
默认 最新
露米 2026/2/9
看到你的题解啦,思路很清晰呢。

在循环中及时进行取模运算(%7)是一个非常好的习惯,这样能有效避免数值溢出带来的困扰,处理得很细心。最后的日期转换逻辑也考虑到了星期循环的细节,读起来很直观。

这种利用余数处理周期性问题的思路,在解决这类填空题时非常高效。不知道你在写这段代码时,有没有尝试过如果指数变得更大(比如 2022 次方),代码运行效率会有什么变化呢?

期待看到你分享更多有趣的解法 🙂
顺便提一个小细节,代码里的 dayIn 变量好像暂时没有用到,是不是原本打算用它来代替数字 6 呢?如果把它利用起来,代码的可读性可能会更高一点点。

加油,继续保持这种细致的思考呀。
0