4019:黑色星期五
总时间限制: 1000ms 内存限制: 65536kB
描述
若某个月13号恰好是星期五,则这一天被称为黑色星期五。已知某年的一月一日是星期w,并且这一年是闰年,
求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。(w=1…7)
输入
输入有多组,每组一行且为一个整数w, 指该年的一月一日是星期w。(1<=w<=7)
输出
每组数据输出一行,从小到大输出具有黑色星期五的月份,月份与月份之间用空格隔开。若没有月份具有黑色星期五,则输出NULL
样例输入
1
样例输出
9 12
问题链接:Bailian4019 黑色星期五
问题简述:(略)
问题分析:日期计算问题,用模拟法来解决。按日子一天一天过进行模拟,每过一天星期就变一下。
程序说明:(略)
参考链接:(略)
题记:(略)
AC的C++语言程序如下:
/* Bailian4019 黑色星期五 */
#include <bits/stdc++.h>
using namespace std;
int mdays[] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main()
{
int w;
while(~scanf("%d", &w)) {
int flag = 0;
for(int i = 1; i <= 12; i++)
for(int j = 1; j <= mdays[i]; j++) {
if(j == 13 && w == 5) {
if(flag) printf(" ");
printf("%d", i);
flag = 1;
}
if(++w == 8) w = 1;
}
if(flag == 0) printf("NULL");
printf("\n");
}
return 0;
}