Как восстановить календарь?
Вопрос возник из обсуждения программистской задачки, но он касается и не программистов. Допустим, у нас есть задача — написать программу-календарь, которая по дате определяет день недели. (Непрограммисты могут представить это как материальную задача написать календарь на какой-то год на бумажке).
Из общих знаний мы знаем сколько месяцев в году, сколько дней в месяце и владеем всеми тонкостями определения високосных годов. И если знаем день недели 1го января мы легко можем расписать календарь на весь год. Если. А если нет? Мы бы могли прицепиться к известной дате из прошлого (скажем, если мы помним, что 1 мая 1962 был вторник) и от нее пересчитать хоть на столетия вперед до нашего времени. Но к какой (такой, чтоб почти все ее помнили)?
Так как же программист может вывести сопоставление даты и дня недели? Исходим из того, что он достаточно образован и эрудирован, но совершенно не педант, не ведет дневник, может быть знает историю на среднем уровне, но не уделяет внимания датам (и тем более — дням недели. Знает, когда было 9 мая 1945, но не знает, какой это день недели) даже не запоминал дату и день, когда впервые с девушкой поцеловался. Есть ли какой-то способ вывести это из общих знаний?