7 3 1 1 3 黑色星期五 80分

2021-10-07 14:41:41 字數 1665 閱讀 1952

13 號又是星期五是乙個不尋常的日子嗎?

13 號在星期五比在其他日少嗎?為了回答這個問題,寫乙個程式來計算在 n 年裡 13 日落在星期一,星期二…星期日的次數.這個測試從 1900 年 1 月 1 日到 1900+n-1 年 12 月 31 日.n 是乙個非負數且不大於 400.

這裡有一些你要知道的: 1900 年 1 月 1日是星期一.

4,6,11 和 9 月有 30天.其他月份除了 2 月有 31 天.閏年 2 月有 29 天,平年 2 月有 28 天.

年份可以被 4 整除的為閏年(1992=4*498 所以 1992 年是閏年,但是 1990 年不是閏年)

以上規則不適合於世紀年.可以被 400 整除的世紀年為閏年,否則為平年.所以,1700,1800,1900 和 2100 年是平年,而 2000 年是閏年.

請不要預先算好資料!

輸入格式:

乙個整數 n.

輸出格式:

七個在一行且相分開的整數,它們代表 13 日是星期六,星期日,星期一…星期五的次數.

輸入樣例1:

在這裡給出一組輸入。例如:

輸出樣例1:

在這裡給出相應的輸出。例如:

36 33 34 33 35 35 34

輸入樣例2:

輸出樣例2:

4 3 2 4 4 3 4

輸入樣例3:

輸出樣例3:

9 9 7 9 9 8 9

【源**】

#include

using

namespace std;

boollp(

int n)

// 判斷第n年是否為閏年

else

}int

main()

;int current =0;

// 記錄當前13號為星期幾

int months_day[12]

=;current =5;

// 2023年01月13日為星期六

days[current]++;

for(

int i =

1900

; i <=

(1900

+ n -1)

; i++

)else

// 平年

for(

int month =

0; month <12;

++month)

} days[current]--;

// 最後乙個月的13號是超過所規定的最大日期:(1900+n-1)年12月31日,不能算入其中,要把之前多加的減去;

cout << days[5]

<<

" "<< days[6]

;// 按星期

六、日、一、二、三、四、五的順序輸出;

for(

int i =

0; i <

5; i++

) cout << endl;

return0;

}

黑色星期五

在西方,星期五和數字 13都代表著壞運氣,兩個不幸的個體最後結合成超級不幸的一天。所以,不管哪個月的十三日又恰逢星期五就叫 黑色星期五 要求 輸入年份,輸出是 判斷該年是否包含黑色星期五,如包含,給出具體日期 includeint main int b 13 閏年時 int n 0,i,year s...

黑色星期五

13號又是星期五是乙個不尋常的日子嗎?13號在星期五比在其他日少嗎?為了回答這個問題,寫乙個程式來計算在n年裡13日落在星期一,星期二.星期日的次數.這個測試從1900年1月1日到1900 n 1年12月31日.n是乙個非負數且不大於400.這裡有一些你要知道的 1900年1月1日是星期一.4,6,...

黑色星期五

水題 問題描述 有些西方人比較迷信,如果某個月的13號正好是星期五,他們就會覺得不太吉利,用古人的說法,就是 諸事不宜 請你編寫乙個程式,統計出在某個特定的年份中,出現了多少次既是13號又是星期五的情形,以幫助你的迷信朋友解決難題。說明 1 一年有365天,閏年有366天,所謂閏年,即能被4整除且不...