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

跑步锻炼(结果填空) - 题解

#include<bits/stdc++.h>
using namespace std;

int m1[]={0,1,3,5,7,8,10,12};
int m2[]={0,4,6,9,11};

int main(){
	int year=2000,month=1,day=1;
	int year2=2020,month2=10,day2=2;
	int sum=0;
	int num=0;
	while(1){
		if(day==1||num%7==2) sum+=2;
		else sum++;
		day++;
		num++;
		for(int j=1;j<=7;j++){
			if(month==m1[j]&&day==32){
				month++;
				day=1;
				break;
			}
		}
		for(int j=1;j<=4;j++){
			if(month==m2[j]&&day==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){
			month=1;
			year++; 
		}
		if(year==year2&&month==month2&&day==day2) break;
	}
	cout<<sum<<endl;
	return 0;
}
0 回复 0 转发 0 喜欢 7 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!