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

纪念日(结果填空) - 题解

#include<bits/stdc++.h>
using namespace std;
int m1[] = {0,1,3,5,7,8,10,12};//数组m1存储大月
int m2[] = {0,4,6,9,11};//数组m2存储小月 
int main(){
	int year = 1921,month = 7,day = 23;  
	int year2 = 2020,month2 = 7,day2 = 1; 
	int ans = 0;
	while(1){
		ans++;
		day++;
		for(int j = 1;j <=7;j++){
			if(month==m1[j] && day == 32){//大月满32天进一月
				month++;
				day=1;
				break; 
			}
		} 
		for(int j = 1;j <= 4;j++){
			if(month == m2[j] && day == 31){//小月满31天进一月
			month++;
			day=1;
			break; 
			}
		}
		if(month == 2){
			if((year%4==0 && year%100 !=0) || (year%400==0)){
				if(day==30){
					month++;
					day=1;
				}
			}else{
				if(day==29){
					month++;
					day=1;
				}
			}
		}
		if(month==13){//满13月进1年
			month = 1;
			year++; 
		}
		if(year == year2 && month == month2 && day == day2){
			break;
		}
	}
	long long minuter = ans*24*60;
	cout<<minuter<<endl;
	return 0;
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!