60求助
查看原帖
60求助
996289
biao_o楼主2024/4/14 15:10
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
int day(int a)
{
	int b[33];
	for(int i=8;i>=1;i--)
	{
		b[i]=a%10;
		a/=10;
	}
	for(int i=1;i<=4;i++)
	{
		if(b[i]!=b[8-i+1])
		{
			return 0;
		}
	}
	return 1;
}
bool Year(int year) 
{
    return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}
int main()
{
	cin>>n>>m;
	for(int i=n;i<=m;i++)
	{
		if(0<(i%10000)/100<=12)
		{
			if((i%10000)/100==1||(i%10000)/100==3||(i%10000)/100==5||(i%10000)/100==7||(i%10000)/100==8||(i%10000)/100==10||(i%10000)/100==12)
			{
				if(0<i%100&&i%100<=31)
				{
					if(day(i)==1)
					{
						ans+=1;
					}
				}
			}
			else if((i%10000)/100==2)
			{
				if(Year(i/10000))
				{
					if(0<i%100&&i%100<=29)
					{
						if(day(i)==1)
						{
							ans+=1;
						}
					}
				}
				else
				{
					if(0<i%100&&i%100<=28)
					{
						if(day(i)==1)
						{
							ans+=1;
						}
					}
				}
			}
			else
			{
				if((i%10000)/100>0)
				{
					if(0<i%100&&i%100<=30)
					{
						if(day(i)==1)
						{
							ans+=1;
						}
					}
				}
		
				
			}
		}
		
	}
	cout<<ans;
	return 0;
}
2024/4/14 15:10
加载中...