Zellerjeva kongruenca

Zellerjeva kongruenca je algoritem, ki ga je razvil Christian Zeller, z njim pa lahko izračunamo dan v tednu za kateri koli datum.

FormulaUredi

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.

AlgoritemUredi

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
    yy - 1

  w ← (y + y/4 - y/100 + y/400 + tm-1 + d) mod 7

  return nw

Glej tudiUredi

ReferenceUredi

  • Zeller, Christian (1882). "Die Grundaufgaben der Kalenderrechnung auf neue und vereinfachte Weise gelöst". Württembergische Vierteljahrshefte für Landesgeschichte (nemščina). V: 313–314.
  • Zeller, Christian (1883). "Problema duplex Calendarii fundamentale". Bulletin de la Société Mathématique de France (latinščina). 11: 59–61.
  • Zeller, Christian (1885). "Kalender-Formeln". Mathematisch-naturwissenschaftliche Mitteilungen des mathematisch-naturwissenschaftlichen Vereins in Württemberg (nemščina). 1 (1): 54–58.
  • Zeller, Christian (1886). "Kalender-Formeln". Acta Mathematica (nemščina). 9: 131–136. doi:10.1007/BF02406733.

Zunanje povezaveUredi