在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的十三日又恰逢星期五就叫"黑色星期五”。
输入:
年份
输出:
判断该年是否包含黑色星期五,如包含,给出具体日期
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
---|---|---|---|---|---|
测试用例 1 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
#include <stdio.h>
int main() {
int y, m[20] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, a[20] = {0}, sum, i, j, len;
scanf("%d", &y);
for (sum = 0, i = 1900; i < y; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
sum = sum + 366;
else
sum = sum + 365;
}
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
m[2] = 29;
for (i = 0, j = 0; i < 12; i++) {
sum = sum + m[i] + 13;
if (sum % 7 == 5) {
a[j] = i + 1;
j++;
}
sum = sum - 13;
}
if (j == 1) {
printf("There is %d Black Friday in year %d.\n", j, y);
printf("It is:\n");
printf("%d/%d/13\n", y, a[0]);
}
if (j > 1) {
printf("There are %d Black Fridays in year %d.\n", j, y);
printf("They are:\n");
for (i = 0; i < j; i++)
printf("%d/%d/13\n", y, a[i]);
}
return 0;
}