Opbygning af algoritmen
Det første man opdager ved at se på kalenderen er at den er opbygget
af år, måneder, og dage, hvor der ikke umiddelbart ser ud til
at være nogen pæn lineær sammenhæng. Et brute-force kodet program til
ugedags beregning vil derfor kunne komme til at bestå af mange "if/case"
konstruktioner til at tage højde for de forskellige regler.
For at undgå dette indser man at der må laves en anden skala, f.eks.
antal dage siden et "fiktivt" år 0. Dette er meget nemmere at udregne,
idet reglerne i den gregorianske kalender er meget klare.
Så antallet af dage fra år 0 til den 0. januar kan så beregnes
på følgende måde:
/* der benyttes heltals divison ! */
Faktor = 365*ÅR + (ÅR-1)/4 - (ÅR-1)/100 + (ÅR-1)/400 ;
Forkortes lidt fås:
Faktor = 365*ÅR + (ÅR-1)/4 - ((ÅR-1)/100)*3/4 ;
Næste problem bliver