Tarea
Escriba un programa o una función que calcule el nombre del día de la semana de una fecha que ingresa un usuario.
De entrada y salida
Entrada es una cadena, YYYYMMDD
.
Ejemplo de valores de entrada:
20110617: 17 de junio de 2011 19040229: 29 de febrero de 1904 06661225: 25 de diciembre de 666 00000101: 1 de enero de 0 99991231: 31 de diciembre de 9999
Puede suponer que todas las entradas son válidas. Tenga en cuenta que el año cero es válido.
La salida es un entero entre 0
y 6
. Cada entero representa un nombre de día de la semana. Puede decidir libremente qué número entero representa un nombre de día de la semana, como este
0: lunes 1: martes 2: miércoles ... 6: domingo
(en orden) o este
0: lunes 1: miércoles 2: domingo ... 6: sábado
(Desordenado).
Casos de prueba
Entrada Semana-día Salida ([0..6 -> Lunes ... Domingo] se utiliza en este ejemplo). 20110617 viernes 4 19500101 Domingo 6 22220202 Sábado 5 19000228 miércoles 2 19000301 jueves 3 19450815 Miércoles 2 19040229 Lunes 0 19040301 martes 1 17760704 jueves 3 20000228 Lunes 0 20000229 martes 1 20000301 miércoles 2 20121223 domingo 6 00000401 Sábado 5 66660606 miércoles 2 59161021 Sábado 5
Restricción
No debe usar ningún tipo de función / clase / ... que esté relacionada con la marca de tiempo o la fecha, como la Date
clase en Java
/ JavaScript
/ ActionScript
, o la getdate
función en PHP
.
Debería usar el calendario gregoriano , que es utilizado por muchas personas ahora.
Por supuesto, el código más corto gana. Si dos códigos tienen la misma longitud, gana el código con los votos más altos.
(Debido: cuando hay más de 5 códigos que tienen más de (o igual) +1
votos).
echo 4
.