Wxt0906 @ 2024-08-03 10:53:18
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdio>
using namespace std;
int a[105],b[105],n1,n2,ans,n,m;
int s[15]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int run(int x)
{
if(x%4==0&&x%100!=0||x%400==0)
return 1;
return 0;
}
int main()
{
cin>>n>>m;
n1=n/10000;
n2=m/10000;
for(int i=n1;i<=n2;i++)
{
for(int j=1;j<=12;j++)
{
int t=0;
if(run(i)==1)
{
t=1;
}
t+=s[j];
for(int k=1;k<=t;k++)
{
int date=(k%10)*1000+(k/10)*100+(j%10)*10+j/10;
int zui=i*10000+j*100+k;
if(zui>=n&&zui<=m)
{
if(date==i)
ans++;
}
}
}
}
cout<<ans;
return 0;
}
by lonely_star @ 2024-08-03 11:07:49
第25行 原码:
if(run(i)==1)
改后:
if(run(i)==1&&j==2)
只有二月有第29天,而你判了闰年所有天数