Дана следующая информация (однако, вы можете проверить ее самостоятельно):
1 января 1900 года - понедельник.
В апреле, июне, сентябре и ноябре 30 дней.
В феврале 28 дней, в високосный год - 29.
В остальных месяцах по 31 дню.
Високосный год - любой год, делящийся нацело на 4, однако последний год века (ХХ00) является високосным в том и только том случае, если делится на 400.
Сколько воскресений выпадает на первое число месяца в двадцатом веке (с 1 января 1901 года до 31 декабря 2000 года)?
let days_in_month year =
[ 31
(if year % 4 = 0 then 29 else 28)
31
30
31
30
31
31
30
31
30
31 ]
let solv =
[ 1901..2000 ]
|> List.collect days_in_month
|> List.scan (+) 365
|> List.take 1200
|> List.countBy (fun d -> d % 7)
|> Map.ofList
let answer = solv[6]
printfn $"the answer is {answer}" //the answer is 171
map [(0, 172); (1, 171); (2, 173); (3, 169); (4, 173); (5, 171); (6, 171)]реже всего 1-е число месяца выпадало на четверг - 169 раз, а чаще всего - на среду и пятницу - по 173 раза