Oettinger-physics.de
oettinger-physics.de

Berechnung der Freitage

Wir wollen wissen, wie oft in einem Zyklus des gregorianischen Kalenders (400 Jahre) der 13. eines Monats auf einen Freitag fällt.

Natürlich ist es mühsam, die Daten direkt auszuzählen, im 21. Jahrhundert ist es aber auch nicht mehr nötig - das kann ein mechanischer Rechenknecht für uns erledigen. Besonders kompliziert ist es nicht, wenn man eine vernünftige Sprache verwendet: meist existieren bereits Module, die die Bestimmung der Wochentage für ein gegebenes Datum übernehmen und das Problem auf einfaches Zählen der Wochentage in einer gegebenen Zeitspanne reduzieren. In Perl ist beispielsweise eine Möglichkeit Date::Calc.

Die simpelste Möglichkeit ist, mit zwei Schleifen für das Jahr und den Monat alle 13. zu durchlaufen und die jeweiligen Wochentage in einem Array zu zählen:

use Date::Calc qw(:all);

$day = 13;
# weekdays Mo(1) to Su(7)
@days13 = (0,0,0,0,0,0,0);

for ($year=2000; $year<2401 ; $year++) {
        for ($month=1; $month<13; $month++) {
                @days13[Day_of_Week($year,$month,$day)-1]++;
        }
}

print " Mo  Di  Mi  Do  Fr  Sa  So\n";
print "@days13";

Berechnung des Wochentags zu einem gegebenen Datum:

Datum ok.Array ( [0] => 22 [1] => 01 [2] => 2000 ) Ergebnis: 2