问题描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123; 而 20221023 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个 2022 年份中,一共有多少个顺子日期?
运行限制
最大运行时间:1s
最大运行内存: 512M
#include<bits/stdc++.h>
using namespace std;
bool judge(long long n){//判断日期是否合法
int arr[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int month = n % 10000 / 100;
int day = n % 100;
if(day <= arr[month-1] && day > 0) {
return true;
}
return false;
}
int main()
{
int sum=0;
for(long long i=20220101;i<=20221231;i++)
{
int a,b,c,d;
if(judge(i))
{
a=i%10000/1000;
b=i%1000/100;
c=i%100/10;
d=i%10;
if((b-a==1&&c-b==1)||(c-b==1&&d-c==1))
{
sum++;
}
}
}
cout<<sum;
return 0;
}