Zum Fehler 1 und seiner Behebung dachte ich : wt + 7 oder wt - 7 ergibt denselben Wochentag wt!
Ja, sollte man meinen.
Aber bei diesen besonderen Daten in 1300 bzw. 0600 sind alle Zwischenergebnisse 0, außer Zahl 5, die ist 1 bzw. 6.
Beispiel:
Datum 28.08.1300
Code:
1. 28 mod 7 = 0 (Zahl 1) (Tag mod 7)
2. K = 0 (Zahl 2) (Aus Tabelle für Monat 8)
3. 0 div 12 = 0 (Zahl 3) (Jahr im Jahrhundert div 12)
4. 0 mod 12 = 0 (Jahr im Jahrhundert mod 12)
5. 0 div 4 = 0 (Zahl 4) (Jahr im Jahrhundert mod 12 div 4)
6. 13 mod 7 = 1 (Zahl 5) (Jahrhundert mod 7)
Da Zahl 5 subtrahiert wird, ergibt sich ein negatives Ergebnis nämlich -1 bzw. -6.
Und -1 mod 7 ergibt etwas anderes als (-1 + 7) mod 7.
Durch addieren von 7 kommt das Zwischenergebnis wieder in den positiven Bereich.