题解:
继续模拟(当然要加点优化)。
由于每年都只能有一天是回文的,所以我们只需要枚举每一年,并判断能与年份形成回文的日期并验证就行了。
var n1,n2,ans,x,i:longint;
s:ansistring;
a:array[1..12]of longint=(31,28,31,30,31,30,31,31,30,31,30,31);
begin
readln(n1,n2);
n1:=n1 div 10000;
while true do
begin
str(n1,s);
x:=0;
for i:=4 downto 1 do x:=x*10+ord(s[i])-48;
if n1*10000+x>n2 then break;
if (x div 100<=12)and(a[x div 100]>=x mod 100) then inc(ans);
inc(n1);
end;
write(ans);
end.
时间: 2024-12-16 19:50:03