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

日期统计(结果填空) - 题解

#include<bits/stdc++.h>
using namespace std;
int main(){
int num[100] = {5 ,6, 8 ,6 ,9, 1, 6, 1, 2 ,4 ,9 ,1, 9, 8, 2 ,3 ,6 ,4 ,7, 7, 5, 9, 5, 0 ,3, 8 ,7, 5, 8 ,1, 5 ,8 ,6, 1, 8, 3, 0, 3, 7, 9, 2,

7, 0, 5, 8 ,8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6, 8, 6, 3, 3, 8, 5, 1, 6, 3, 4, 6, 7, 0, 7, 8, 2, 7, 6, 8, 9, 5, 6, 5, 6 ,1 ,4 ,0 ,1


,0, 0, 9, 4, 8, 0, 9, 1, 2, 8, 5, 0, 2, 5, 3, 3};
int cnt = 0;
int a= 0;
for(int month=1;month<=12;month++){
for(int day=1;day<=31;day++){
if(month == 2){
if(day==29) break;
}
if(month ==4||month ==6||month ==9||month == 11 ){
if(day==31) break;

}
	
		for(int i=0;i<100;i++){
		
		
			if(a==0&&num[i] == 2)	{a=1; continue;}  // 必须跳过 要不会一个数重复算 比如2023 11 11 一个1 用作四个
			if(a==1&&num[i] == 0)   {a=2;continue;}
			if(a==2&&num[i] == 2)   {a=3; continue;}
			if(a==3&&num[i] == 3)   {a=4; continue;}
		
			if(a==4 && month/10== num[i] )    {a=5;continue;}
			if(a==5 && num[i] == month%10)    {a=6;continue;}
		
			if(a==6 && num[i] == day/10)   { a=7;continue;}
			if(a==7 && num[i] == day%10)	{cnt++;  break;}
			 
		
		}
		a=0;
	
	}
}
cout << cnt;


}

纯小白
0 回复 0 转发 1 喜欢 0 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!