数学学得不错的请帮我算下2012年的7.13日到2013年的几月几日正好是520天. 平年多少 ? 闰年多少?
3个回答

2013-12-15

我写的程序

var

i,yy,mm,dd,f:longint;

y,m,d:integer;

procedure try(yy,mm,dd:longint);

begin

if (yy mod 400=0) or ((yy mod 4=0) and (yy mod 1000)) then y:=3

else y:=0;

if (mm=1) or (mm=3) or (mm=5) or (mm=7) or (mm=8) or (mm=10) or (mm=12) then m:=3;

if (mm=2) and (y=3) then m:=2;

if (mm=2) and (y=0) then m:=1;

if (mm=4) or (mm=6) or (mm=9) or (mm=11) then m:=0;

end;

begin

readln(yy,mm,dd);

readln(f);

try(yy,mm,dd);

for i:=1 to f do

begin

if (m=3) and (dd=31)

then begin

if mm=12 then begin yy:=yy+1; mm:=1; dd:=1; end

else begin mm:=mm+1; dd:=1; end;

end

else if (m=2) and (dd=29)

then begin mm:=mm+1; dd:=1; end

else if (m=1) and (dd=28)

then begin mm:=mm+1; dd:=1; end

else if (m=0) and (dd=30)

then begin mm:=mm+1; dd:=1; end

else dd:=dd+1;

try(yy,mm,dd);

end;

writeln(yy,'-',mm,'-',dd);

end.