1 条题解
-
0
📝 题目大意
给定公历年份 (当前为 月),求下一次满足"年份除以 余 "的年份。若 本身已满足条件,则答案为 。
💡 解题思路
- 题目分析:约束 ,范围极小,暴力枚举也完全可行。但观察余数规律可以 直接计算。
- 算法推导:
- 若 ,今年就是答案,输出 。
- 若 ,下一年余数为 ,输出 。
- 若 ,两年后余数为 (),输出 。
- 若 ,三年后余数为 (),输出 。
- 边界与细节:由于 范围小且必然有解(循环周期为 ),无需考虑越界。注意题目要求是"下一次",当前年满足条件时直接输出当前年即可。
⏱️ 复杂度分析
- 时间复杂度:,仅做常数次取模运算和比较。
- 空间复杂度:,仅使用几个变量。
💻 标准代码 (C++)
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin >> n; // 余数为 2:今年正好满足条件 if(n % 4 == 2){ cout << n; return 0; } // 余数为 3:还需等待 3 年(3→0→1→2) if(n % 4 == 3){ cout << n + 3; return 0; } // 余数为 1:下一年即满足(1→2) if(n % 4 == 1){ cout << n + 1; return 0; } // 余数为 0:还需等待 2 年(0→1→2) if(n % 4 == 0){ cout << n + 2; return 0; } return 0; }
- 1
信息
- ID
- 615
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者