Edició de «Algoritme per a calcular el dia de la semana»
Anar a la navegació
Anar a la busca
Advertencia: No has iniciat sessió. La teua direcció IP serà visible públicament si realises qualsevol edició. Si inicies sessió o crees un conte, les teues edicions s'atribuiran al teu nom d'usuari, junt en atres beneficis.
Pot desfer-se la modificació. Per favor, revisa la comparació més avall per a assegurar-te que es lo que vols fer; llavors deixa els canvis per a la finalisació de la desfeta de l'edició.
Revisió actual | El teu text | ||
Llínea 1: | Llínea 1: | ||
La '''congruència de Zeller''' és un algoritme ideat per [[Julius Christian Johannes Zeller]] per a calcular el dia de la semana de qualsevol data del [[calendari]]. | La '''congruència de Zeller''' és un algoritme ideat per [[Julius Christian Johannes Zeller]] per a calcular el dia de la semana de qualsevol data del [[calendari]]. | ||
+ | |||
+ | La congruència de *Zeller és un algoritme ideat per *Julius Christian *Johannes *Zeller per a calcular el dia de la semana de qualsevol data del calendari. | ||
+ | |||
+ | == Fòrmula == | ||
+ | |||
+ | Per al [[calendari gregorià]] la congruència de Zeller és | ||
+ | |||
+ | :<*math>h = *left(q + *left*lfloorfrac{(m+1)26}{10}*right*rfloor + K + *left*lfloorfrac{K}{4}*right*rfloor + *left*lfloorfrac{J}{4}*right*rfloor - 2J*right) *mod 7,</*math> | ||
+ | |||
+ | per al [[calendari julià]] és | ||
+ | |||
+ | :<*math>h = *left(q + *left*lfloorfrac{(m+1) 26}{10}*right*rfloor + K + *left*lfloorfrac{K}{4}*right*rfloor + 5 - J*right) *mod 7,</*math> | ||
+ | |||
+ | A on | ||
+ | |||
+ | ''h'' és el dia de la semana (0 = dissabte, 1 = dumenge, 2 = dilluns,...), | ||
+ | |||
+ | ''q'' és el dia del més, ''m'' és el més, | ||
+ | |||
+ | ''J'' és la centuria (és realitat ⌊any / 100⌋) i | ||
+ | |||
+ | ''K'' l'any de la *centuria (any *mod 100). | ||
+ | |||
+ | Giner i febrer es conten com a mesos 13 i 14 de l'any anterior. Observe, que el 2 de giner del 2013, és m=13; any=2012 | ||
+ | |||
+ | És oportú recordar que la funció ''*mod'' és el residu que queda de la divisió de dos números. | ||
+ | |||
+ | En les implementacions informàtiques en les que el mòdul d'un número negatiu és negatiu, la manera més senzilla d'obtindre un resultat entre 0 i 6 és reemplaçar - 2 ''J'' per + 5 ''J'' i - ''J'' per + 6 ''J''. | ||
+ | |||
==Referències== | ==Referències== | ||
− | + | ||
[[Categoria:Calendari]] | [[Categoria:Calendari]] |