日期 描述
我们可以将一个日期的年月日直接相连,写成一个字符串的形式,例如 2023 年 11 月 12 日可以写作 20231112 20231112。
我们定义,一个日期对应的字符串如果包含 202 202 作为它的子串(也就是连续的一段)那么这个日期就是特殊的。例如 202 ‾ 30 202 ‾ , 201 202 ‾ 29 202 30 202 ,201 202 29 是特殊的,而 30201203 , 22000222 30201203,22000222 不是特殊的。
现在给定两个年份 � l 和 � r,请问从 � l 年 1 月 1 日到 � r 年 12 月 31 日之间的所有日期中,有多少个日期是特殊的?
普通年份每个月的天数分别为: 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 31,28,31,30,31,30,31,31,30,31,30,31。
闰年的 2 月有 29 29 天,其他月份和普通年份一样,闰年的判断方式:
如果一个年份是 400 400 的倍数,那么它是闰年。
如果一个年份是 4 4 的倍数且它不是 100 100 的倍数,那么它是闰年。
否则它不是闰年。
输入 一行两个整数 � , � l,r。
输出 一行一个整数代表答案。
输入样例 1
2020 2020 输出样例 1
366 输入样例 2
2121 2121 输出样例 2
2 输入样例 3
2000 9999 输出样例 3
44294 提示
� l=r 对于 100 % 100% 的数据 2000 ≤ � ≤ � ≤ 9999 2000≤l≤r≤9999 样例 1 解释:由于 202 ‾ 0 202 0 年每一天都是特殊的。 // // //
#include <bits/stdc++.h>
using namespace std;
int main() {
int l,r;
cin>>l>>r;
int f=0;
if(l%400==0||(l%4==0&&l%100!=0)){
f=1;
}
if(l==2021||l==2022||l==2023||l==2024||l==2025||l==2026||l==2027||l==2028||l==2029||l==2020||l==1202||l==2202||l==3202||l==4202||l==5202||l==6202||l==7202||l==8202||l==9202){
if(f=1){
cout<<366;
}
if(f=0){
cout<<365;
}
}
return 0;
}
//c++代码