题目描述
号又是一个星期五。号在星期五比在其他日子少吗?为了回答这个问题,写一个程序,要求计算每个月的十三号落在周一到周日的次数。给出N年的一个周期,要求计算年月日至+N-年月日中十三号落在周一到周日的次数,N为正整数且不大于
这里有一些你要知道的:
、年月日是星期一.
、,,和月有天.其他月份除了月都有天.闰年月有天,平年月有天.
、年份可以被整除的为闰年(=* 所以 年是闰年,但是年不是闰年).
、以上规则不适合于世纪年。可以被整除的世纪年为闰年,否则为平年。所以,,,和年是平年,而年是闰年.
请不要调用现成的函数
请不要预先算好数据(就是叫不准打表)!
输入输出格式
输入格式:
一个正整数n.
输出格式:
输入输出样例
输入样例#1:
输出样例#1:
题解:这一道题不断枚举就行了。
var
i,j,n:integer;
day:longint;
week:array[] of integer;
begin
read(n);
day:=;
for i:= to +n- do
for j:= to do
case j of
,,,,,,:if (i=) and (j=) then
begin
day:=day+;
week[day mod ]:=week[day mod ]+;
end else begin
day:=day+;
week[day mod ]:=week[day mod ]+;
end;
:if (i mod =) and (i mod <>) or (i mod =) then
begin
day:=day+;
week[day mod ]:=week[day mod ]+;
end else
begin
day:=day+;
week[day mod ]:=week[day mod ]+;
end;
,,,:begin day:=day+;week[day mod ]:=week[day mod ]+;end;
end;
write(week[],' ');
for i:= to do write(week[i],' ');
writeln;
end.