为什么过不了,求大佬指点<50>
查看原帖
为什么过不了,求大佬指点<50>
1804460
pxs123456楼主2025/7/27 20:54
#include <iostream>
using namespace std;
int d1,d2;
int j[8];
int c;
int y,m,d,num;
int main(){
   	cin>>d1>>d2;
	for(int i=d1;i<=d2;i++){
		y=i/10000;
		m=i/100-i/10000*100;
		d=i%100;
		if(m>12){
			continue;
		}
		if(m%2==0 && d>30 || d<1 && m!=2 && m<8){
			continue;
		}
		if(m==2 && (y%4!=0 && y%100!=0)|| y%400!=0 && d>28 || d<1){
			continue;
		}
		if(m==2 && (y%4==0 && y%100==0)|| y%400==0 && d>29 || d<1){
			continue;
		}
		if(m%2!=0 && d>31 || d<1 && m<8){
			continue;
		}
		if(m>=8 && m<=12){
			if(m%2==0 && d>31 || d<1){
				continue;
			}
			if(m%2!=0 && d>31 || d<1){
				continue;
			}
		}
		if(d<10 && m>10){
			if(d%10*10==y/100 && m%10*10+m/10==y%100){
				num++;
			}
		}
		if(d<10 && m<10){
			if(d%10*10==y/100 && m%10*10==y%100){
				num++;
			}
		}
		if(d>10 && m<10){
			if(d%10*10+d%10==y/100 && m%10*10==y%100){
				num++;
			}
		}
		
	}
	cout<<num;
    return 0;
}

2025/7/27 20:54
加载中...