Feu una funció que, donada una data vàlida a través de tres enters que corresponen al seu dia d, al seu mes m i al seu any a, retorni el dia de la setmana en què cau, és a dir, “dilluns”, o “dimarts”, o …
Per calcular-ho, useu la congruència de Zeller. Sigui d el dia, m el mes i a l’any. Llavors:
f = ⌊ 2.6m′−0.2 ⌋ + d + y + ⌊ y/4 ⌋ + ⌊ c/4 ⌋ − 2c. |
Interfície
C++ | string dia_de_la_setmana (int d, int m, int a); |
C | char* dia_de_la_setmana (int d, int m, int a); |
Java | public static String dia_de_la_setmana (int d, int m, int a); |
Python | dia_de_la_setmana (d, m, a) # returns str |
dia_de_la_setmana (d: int, m: int, a: int) -> str | |
Haskell | diaDeLaSetmana :: Int -> Int -> Int -> String |
Precondició El paràmetre corresponent a l’any està entre 1800 i 9999, ambdós inclosos. La data és vàlida.
Pista
Compte amb els mòduls de nombres negatius!
Observació Només cal enviar el procediment demanat; el programa principal serà ignorat.
Input/Output