返回题目问答
讨论 / 题目问答/ 帖子详情

问题出在哪了捏

#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存储小月

map<int,int> bh={{0,13},{1,1},{2,2},{3,3},{4,5},{5,4},{6,4},{7,2},{8,2},{9,2}};

int sum(int year,int month,int day){
	int y1=year%10,y2=year%100,y3=year%1000,y4=year/1000;
	int m1=month%10,m2=month/10;
	int d1=day%10,d2=day/10;
	int n=0;
	n=bh[y1]+bh[y2]+bh[y3]+bh[y4]+bh[m1]+bh[m2]+bh[d1]+bh[d2];
	return n;
}

int main(){
	int num=0;
	int year=2000,month=1,day=1;
	int year2=2024,month2=4,day2=13;
	while(1){
		if(sum(year,month,day)>50) num++;
		day++;
		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<<num<<endl;
	return 0;
}
2 回复 0 转发 0 喜欢 22 阅读
回复 (2)
默认 最新
Cecily 2025/1/20
这也太猛了吧👀️
0
潇潇雨未歇 2024/12/6
已经知道是哪里错了

#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存储小月

map<int,int> bh={{0,13},{1,1},{2,2},{3,3},{4,5},{5,4},{6,4},{7,2},{8,2},{9,2}};

int sum(int year,int month,int day){
	int y1=year%10,y2=(year/10)%10,y3=(year/100)%10,y4=year/1000;
	int m1=month%10,m2=(month/10)%10;
	int d1=day%10,d2=(day/10)%10;
	int n=0;
	n=bh[y1]+bh[y2]+bh[y3]+bh[y4]+bh[m1]+bh[m2]+bh[d1]+bh[d2];
	return n;
}

int main(){
	int num=0;
	int year=2000,month=1,day=1;
	int year2=2024,month2=4,day2=13;
	while(1){
		if(sum(year,month,day)>50) num++;
		day++;
		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<<num<<endl;
	return 0;
}
0