首页 > 代码库 > 2016回文日期

2016回文日期

题解:

继续模拟(当然要加点优化)。

由于每年都只能有一天是回文的,所以我们只需要枚举每一年,并判断能与年份形成回文的日期并验证就行了。

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.

2016回文日期