1. 题解
(1)我们要求2022年有多少个顺子日期,首先就要知道2022年有多少天。对于普通年来说,能被 4 整除且不能被 100 整除的是闰年;对于世纪年来说,能被 400 整除的是闰年。由此可知2022年不是闰年,即2月有28天,即一年有365天。
(2)要求2022整年有多少个顺子日期就要从2022年的第一天遍历到2022年的最后一天,就要用到循环求这个日期的八位数字,用大小为8的整型数组q来存放八位日期以便后面来判断这日期是否为顺子日期。
(3)判断日期是否为顺子日期,即八位数字里面是否存在3个连续数字,321这种逆序的不是顺子,顺子可以包含0。
2. 代码
点击查看代码
#include<bits/stdc++.h>
using namespace std;
int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool check(int q[]){
for(int i=3;i<=5;i++)
if(q[i]==(q[i+1]-1)&&q[i+1]==(q[i+2]-1)){
return true;
}
return false;
}
int main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int q[8]={2,0,2,2};
int res=0;
for(int i=1;i<=12;i++){
q[4]=i/10;
q[5]=i%10;
for(int j=1;j<=day[i];j++){
q[6]=j/10;
q[7]=j%10;
if(check(q)){
res++;
// for(int i=0;i<8;i++)cout<<q[i]<<" ";
// cout<<endl;
}
}
}
cout<<res;
return 0;

浙公网安备 33010602011771号