Zellerjeva kongruenca
Iz Wikipedije, proste enciklopedije
(Preusmerjeno s strani Računanje dneva v tednu)
Zellerjeva kongruenca je algoritem, ki ga je razvil Christian Zeller, z njim pa lahko izračunamo dan v tednu za kateri koli datum.
Vsebina |
Formula [uredi]
Formula za gregorijanski koledar je
za julijanski koledar je
kjer je
- h dan v tednu (0 = sobota, 1 = nedelja, 2 = ponedeljek, ...)
- q je dan v mesecu
- m je mesec
- J je stoletje (pravzaprav
) - K je leto v stoletju (
)
celi del števila
Januar in februar se štejeta kot 13. in 14. mesec prejšnjega leta.
V računalništvu je rezultat modula za negativna število negativen, zato je najhitrejša pot do rezultata v razponu 0 - 6 zamenjava - 2 J z + 5 J in - J z + 6 J.
Algoritem [uredi]
Ta algoritem velja samo za datume gregorijanskega koledarja.
Algoritem Z(y, m, d)
Vhod: Leto y, mesec m (1 ≤ m ≤ 12) in dan d (1 ≤ d ≤ 31).
Izhod: Dan v tednu.
t ← (0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4)
n ← (nedelja, ponedeljek, torek, sreda, četrtek, petek, sobota)
if m < 3
y ← y - 1
w ← (y + ⌊y/4⌋ - ⌊y/100⌋ + ⌊y/400⌋ + tm-1 + d) mod 7
return nw
Glej tudi [uredi]
Reference [uredi]
- Zeller, Christian (1882). "Die Grundaufgaben der Kalenderrechnung auf neue und vereinfachte Weise gelöst" (v nemško). Württembergische Vierteljahrshefte für Landesgeschichte V: 313–314. http://www.merlyn.demon.co.uk/zel-82px.htm.
- Zeller, Christian (1883). "Problema duplex Calendarii fundamentale" (v latinsko). Bulletin de la Société Mathématique de France 11: 59–61. http://www.numdam.org/item?id=BSMF_1883__11__59_1.
- Zeller, Christian (1885). "Kalender-Formeln" (v nemško). Mathematisch-naturwissenschaftliche Mitteilungen des mathematisch-naturwissenschaftlichen Vereins in Württemberg 1 (1): 54–58. http://www.merlyn.demon.co.uk/zel-85px.htm.
- Zeller, Christian (1886). "Kalender-Formeln" (v nemško). Acta Mathematica 9: 131–136. doi:10.1007/BF02406733. http://www.merlyn.demon.co.uk/zel-86px.htm.
Zunanje povezave [uredi]
- The Calendrical Works of Rektor Chr. Zeller: The Day-of-Week and Easter Formulae by J R Stockton, Surrey, UK (v angleščini)
- Paul E. Black, Zellerjeva kongruenca na NIST Dictionary of Algorithms and Data Structures. (v angleščini)
- Kako si zapomniti Zellerjevo kongruenco (v angleščini)


)
)