// Time-stamp: "(23.04.02 21:10) gauss.cpp [Klaus@Wachtler.de]" // // +----------------------------------------------------------------------+ // | | // | i = jahr/100 - jahr/400 + 4; | // | | // +----------------------------------------------------------------------+ // | | // | j = i - jahr/300 + 11; | // | | // +----------------------------------------------------------------------+ // | | // | a = ( ( jahr%19 )*19 + j )%30; | // | | // +----------------------------------------------------------------------+ // | | // | b = ( ( ( jahr%4 )*2 + 4*jahr + 6*a + i )%7 ) + a - 9; | // | | // +----------------------------------------------------------------------+ // | | // | b<1 | // | | | // +----- j ---------|---------------- n ---------------------------------+ // | | | // | | (b==26) | // | | ODER | // | | (a==28 UND b==25 UND ( ( 11*( j + 1 ) )%30 )<19) ) | // | | | | // | +------- j ------+----------- n ---------------------+ // | | | | // | ot = 31 + b; | b = b - 7; | | // | om = 3; | | | // | +----------------+-----------------------------------+ // | | | // | | ot = b; | // | | om = 4; | // | | | // +----------------------------------------------------------------------+ // // Ostersonntag = 1. Sonntag nach 1. Vollmond im Frühjahr #include <stdio.h> void gauss( int jahr ) { int i, j, a, b, ot, om; i = jahr/100 - jahr/400 + 4; j = i - jahr/300 + 11; a = ( ( jahr%19 )*19 + j )%30; b = ( ( ( jahr%4 )*2 + 4*jahr + 6*a + i )%7 ) + a - 9; if( b<1 ) { ot = 31 + b; om = 3; } else { if( (b==26) || (a==28 && b==25 && ( ( 11*( j + 1 ) )%30 )<19) ) { b = b - 7; } ot = b; om = 4; } printf( "%02d.%02d.%04d\n", ot, om, jahr ); } int main( int nargs, char **args ) { for( int i=1980; i<2006; i++ ) { gauss( i ); } return 0; }
Anmerkung: weitere interessante Informationen zum Kalender, zugehörige Algorithmen und Literaturverweise finden sich in der c't 15/97, S. 312.
Weitere ganz interessante Informationen zu anderen Kalenderrechnungen erhält man über http://www.koenigsmuenster.de/rsk/einfuehrung.htm; beispielsweise kann man unter http://www.koenigsmuenster.de/rsk/dechija.htm studieren, wann das jüdische Jahr beginnt. Dagegen ist Ostern eine leichte Übung.