Der Gregorianische Kalender bevorzugt fünf der sieben Wochentage in Schaltjahren. Daher ist die Chance nicht genau .2/7
Dies war im Wesentlichen das Problem B3 beim Putnam-Mathematikwettbewerb 1950 :
nn wird zufällig aus den natürlichen Zahlen ausgewählt. Zeigen Sie, dass die Wahrscheinlichkeit, dass der 25. Dezember im Jahr ein Mittwoch ist, nicht 1/7 beträgt.n
Im Gregorianischen Kalender sind Jahre, die ein Vielfaches von sind, Schaltjahre (mit Tagen), aber Jahre, die ein Vielfaches von sind, sind keine Schaltjahre (und haben daher Tage), mit der Ausnahme, dass Jahre, die ein Vielfaches von sind, Schaltjahre sind. (Viele von uns erinnern sich an die letzte Ausnahme im Jahr ) Dadurch entsteht ein Jahres-Zyklus mit Schaltjahren.7 × 52 + 2 = 366 100 7 × 52 + 1 = 365 400 2000 400 400 / 4 - 400 / 100 + 400 / 400 = 9747×52+2=3661007×52+1=3654002000400400/4−400/100+400/400=97
Besonders interessant ist, dass die Gesamtzahl der Tage in diesem Zyklus ein Vielfaches von sieben ist:
400×(7×52+1)+97×1≡400+97≡71×7≡0mod7.
Dies zeigt, dass der Jahres-Zyklus eine ganze Reihe von Wochen umfasst. Folglich ist das Muster der Wochentage von einem Zyklus zum nächsten genau das gleiche.400
Wir können die Frage daher so interpretieren, dass wir nach der Chance von Sonntagen fragen, wenn wir zufällig und gleichmäßig aus einem jährigen Zyklus von Schaltjahren auswählen. Eine Brute-Force-Berechnung (beispielsweise unter Verwendung der Tatsache, dass der 1. Januar 2001 ein Montag war) zeigt, dass der Schaltjahre in jedem Zyklus Sonntage haben. Daher ist die Chance400 28 97 5353400289753
Pr(53 Sundays)=2897.
Beachten Sie, dass dies nicht nicht gleich : es ist etwas größer. Übrigens gibt es die gleiche Chance von Mittwochs, Freitags, Samstags oder Montags und nur eine Chance von Dienstagen oder Donnerstagen.28/98=2/75327/9753
Für diejenigen, die detailliertere Berechnungen durchführen möchten (und möglicherweise mathematischen Vereinfachungen misstrauen), gibt es hier einen Brute-Force-Code, der jeden Wochentag für einen bestimmten Satz von Jahren berechnet und untersucht. Am Ende wird die Anzahl der Jahre mit Auftritten an jedem Wochentag angezeigt . Es ist geschrieben in . 53R
Hier ist die Ausgabe für den Zyklus :2001−2400
Friday Monday Saturday Sunday Thursday Tuesday Wednesday
28 28 28 28 27 27 28
Hier ist der Code selbst.
leapyear <- function(y) {
(y %% 4 == 0 & !(y%% 100 == 0)) | (y %% 400 == 0)
}
leapyears <- seq(2001, length.out=400)
leapyears <- leapyears[leapyear(leapyears)]
results <- sapply(leapyears, function(y) {
table(weekdays(seq.Date(as.Date(paste0(y, "-01-01")), by="1 day", length.out=366)))
})
rowSums(results==53)