задача
Напишите программу или функцию, которая вычисляет название дня недели для даты, которую вводит пользователь.
Ввод, вывод
Ввод - это строка YYYYMMDD
.
Пример входных значений:
20110617: 17 июня 2011 19040229: 29 февраля 1904 г. 06661225: 25 декабря 666 00000101: 1 января, 0 99991231: 31 декабря 9999
Вы можете предположить, что все данные верны. Обратите внимание, что нулевой год действителен.
Выход - это целое число между 0
и 6
. Каждое целое число представляет название дня недели. Вы можете свободно выбирать, какое целое число представляет название дня недели, например, это
0: понедельник 1: вторник 2: среда ... 6: воскресенье
(по порядку) или этот
0: понедельник 1: среда 2: воскресенье ... 6: суббота
(не в порядке).
Тестовые случаи
Input Выходной день недели (в этом примере используется [0..6 -> Monday..Sunday].) 20110617 пятница 4 19500101, воскресенье 6 22220202 суббота 5 19000228 среда 2 19000301 четверг 3 19450815 среда 2 19040229 Понедельник 0 19040301 вторник 1 17760704 четверг 3 20000228 Понедельник 0 20000229 вторник 1 20000301 среда 2 20121223 воскресенье 6 00000401 суббота 5 66660606 среда 2 59161021 суббота 5
ограничение
Вы не должны использовать какую- либо функцию / класс / ..., связанную с отметкой времени или датой, например, Date
класс в Java
/ JavaScript
/ ActionScript
или getdate
функцию в PHP
.
Вы должны использовать григорианский календарь , который используется многими людьми сейчас.
Конечно, выигрывает самый короткий код. Если два кода имеют одинаковую длину, то выигрывает код с наибольшим количеством голосов.
(Должно быть: когда есть более 5 кодов, у которых больше (или равно) +1
голосов.)
echo 4
.