Пронумеруем все дни недели числами от 0 до 6. Пусть сейчас месяц x, в котором k дней. Возьмем произвольный день этого месяца d. Пусть он приходится на день недели w. Теперь посмотрим на месяц x+1 и рассмотрим день этого месяца d. Если в предыдущем месяце было k дней, причем остаток от деления числа k на 7 равен m, то день недели, на который приходится день d в месяце x+1, циклически сместится ровно на m позиций. Чтобы было проще понять, приведу пример. Пусть рассматривается день недели 4 (пятница) и 13 число августа. В августе 31 день, то есть смещение будет на 31%7=3 дня. В сентябре 13-е число будет уже приходиться не на пятницу, а на понедельник. Понедельник имеет индекс 0 - потому что циклически сместили индекс 4 на 3 позиции вправо (4->5->6->0). К чему я веду. Рассмотрим все месяцы в году и посмотрим на суммарные сдвиги дней недели после каждого месяца. Возьмем день d=13 января. Пусть он приходится на день недели w. Выпишем количество дней для каждого месяца. Январь - 31 (смещение 3) Февраль - 28(29) (смещение 0(1)) Март - 31 (смещение 3) Апрель - 30 (смещение 2) Май - 31 (смещение 3) Июнь - 30 (смещение 2) Июль - 31 (смещение 3) Август - 31 (смещение 3) Сентябрь - 30 (смещение 2) Октябрь - 31 (смещение 3) Ноябрь - 30 (смещение 2) Декабрь - 31 (смещение 3) Выпишем список дней недели в каждом месяце, на которые приходится число месяца d. Так как это числа от 0 до 6, надо брать по модулю 7 суммарный сдвиг. Для невисокосного года: Январь - w+0, Февраль - w+3, Март - w+3, Апрель - w+6, Май - w+1, Июнь - w+4, Июль - w+6, Август - w+2, Сентябрь - w+5, Октябрь - w+0, Ноябрь - w+3, Декабрь - w+5 Для високосного года будет так: Январь - w+0, Февраль - w+3, Март - w+4, Апрель - w+0, Май - w+2, Июнь - w+5, Июль - w+0, Август - w+3, Сентябрь - w+6, Октябрь - w+1, Ноябрь - w+4, Декабрь - w+6 В обоих случаях присутствуют все дни недели w+0, w+1,...,w+6. Это значит, что в течении года каждое число месяца (числа 30 и 31 не в счет, так как они присутствуют не во всех месяцах) успевает побывать на всех днях недели. Как следствие, 13 число хотя бы в одном из месяцев в году будет пятницей.
Сначала докажем, что это число четырехзначное. Если оно содержит меньше 4-х цифр, то при вычитании из него суммы его цифр оно станет еще меньше, чем было. А было оно меньше четырехзначного. Пусть оно содержит хотя бы 5 цифр. Представим число в виде 10000a+1000b+100c+10d+e. Вычтем a+b+c+d+e и получим 9999a+999b+99c+9d. Так как a>=1, то 9999a+999b+99c+9d>=9999>2016. Следовательно, у N 4 цифры. Пусть N=1000a+100b+10c+d. a, b, c, d - это цифры четырехзначного числа: 1<=a<=9, 0<=b<=9, 0<=c<=9, 0<=d<=9 Вычтем a+b+c+d и получим 999a+99b+9c=2016. 111a+11b+c=224 Пусть a=1. Тогда 11b+c=113. При наибольшем возможном b=9 c=113-11*9=14 - не подходит под ограничения. Пусть a>=3. Тогда 111a+11b+c>=333>224 - не подходит Тогда единственным вариантом для a является 2. Отсюда 11b+c=224-2*111=2 Единственным решением этого уравнения при заданных условиях и в целых числах является b=0, c=2. Это значит, что N=202d, где d - любая цифра от 0 до 9. Сумма всех таких N равна (2020+2029)/2*10=20245
Теперь посмотрим на месяц x+1 и рассмотрим день этого месяца d. Если в предыдущем месяце было k дней, причем остаток от деления числа k на 7 равен m, то день недели, на который приходится день d в месяце x+1, циклически сместится ровно на m позиций.
Чтобы было проще понять, приведу пример. Пусть рассматривается день недели 4 (пятница) и 13 число августа. В августе 31 день, то есть смещение будет на 31%7=3 дня. В сентябре 13-е число будет уже приходиться не на пятницу, а на понедельник. Понедельник имеет индекс 0 - потому что циклически сместили индекс 4 на 3 позиции вправо (4->5->6->0).
К чему я веду. Рассмотрим все месяцы в году и посмотрим на суммарные сдвиги дней недели после каждого месяца.
Возьмем день d=13 января. Пусть он приходится на день недели w.
Выпишем количество дней для каждого месяца.
Январь - 31 (смещение 3)
Февраль - 28(29) (смещение 0(1))
Март - 31 (смещение 3)
Апрель - 30 (смещение 2)
Май - 31 (смещение 3)
Июнь - 30 (смещение 2)
Июль - 31 (смещение 3)
Август - 31 (смещение 3)
Сентябрь - 30 (смещение 2)
Октябрь - 31 (смещение 3)
Ноябрь - 30 (смещение 2)
Декабрь - 31 (смещение 3)
Выпишем список дней недели в каждом месяце, на которые приходится число месяца d. Так как это числа от 0 до 6, надо брать по модулю 7 суммарный сдвиг.
Для невисокосного года:
Январь - w+0,
Февраль - w+3,
Март - w+3,
Апрель - w+6,
Май - w+1,
Июнь - w+4,
Июль - w+6,
Август - w+2,
Сентябрь - w+5,
Октябрь - w+0,
Ноябрь - w+3,
Декабрь - w+5
Для високосного года будет так:
Январь - w+0,
Февраль - w+3,
Март - w+4,
Апрель - w+0,
Май - w+2,
Июнь - w+5,
Июль - w+0,
Август - w+3,
Сентябрь - w+6,
Октябрь - w+1,
Ноябрь - w+4,
Декабрь - w+6
В обоих случаях присутствуют все дни недели w+0, w+1,...,w+6. Это значит, что в течении года каждое число месяца (числа 30 и 31 не в счет, так как они присутствуют не во всех месяцах) успевает побывать на всех днях недели. Как следствие, 13 число хотя бы в одном из месяцев в году будет пятницей.