Primzahltage 2013

Es ist der 12. Juni 2013, ich sitze im Zug und habe mal wieder Mathematica vor mir. Schon habe ich etwas zu tun...
Was haben der 21. Januar 2013 und der 2. November 2013 gemeinsam? Wir werden es noch sehen.
Schreibt man das Datum als 21.06.2013 oder 12062013 kann man ja fragen, ob diese Zahl eine Primzahl ist. Die Antwort kommt schnell. Es ist keine Primzahl sondern 3 * 4.020.671.
Stacks Image 849

Als Nächstes brauchen wir die Tage vom ersten Januar bis zum 31. Dezember. Was glücklicherweise auch kein Problem ist. Der Befehl DateRange leistet das Gewünschte.
Stacks Image 851
Als nächstes muß daraus noch das Datum in der Form "gebastelt" werden, die wir für einen Primzahltagetest brauchen. Mit IntegerDigits erhalten wir die richtigen Ziffern:
Stacks Image 909

Jetzt kann man leicht eine Funktion schreiben, die all das vereint und man direkt eine Zahl aus einem Datum erzeugen kann
Stacks Image 918
Jetzt können wir unsere Datumsliste direkt in eine Liste aus korrespondierenden Zahlen umwandeln. Mit Short kann man dann die Ausgabe abzukürzen, aber dennoch sehen, ob das Ergebnis in Ordnung ist.
Stacks Image 928

Die Anzahl der Primzahlen erhält man nun ganz einfach durch Eingabe von
Count[PrimeQ @ tageListe, True, ]
Es sind 52 Stück. Die Positionen der Primzahlen in der Liste kann sofort mit dem Befehl Position leichte ermitteln. Damit wir die Primzahlen später einfacher ausgeben können wird die Liste gleich mit Flatten vereinfacht.
pos = Position[PrimeQ @ tageListe, True] // Flatten
ermitteln. Damit hat man die 52 Primzahlen unter den Daten ermittelt.
Stacks Image 941
Bei dieser Darstellung des Datums also 12062013 für den 12. Juni 2013 gibt es übrigens keine Dubletten unter den Primzahlen, also kein zwei verschiedene Tage die beide Primtage sind. Stellt man das Datum ohne die führende Null beim Monat dar, schreibt also 1262013 für diesen Tag, so sieht die Situation anders aus.
Als erstes ist festzustellen, daß es bei dieser Schreibweise des Datums eine Primzahl mehr gibt, nämlich 53. Die Umwandlung der Tage in Zahlen kann man übrigens auch direkt in einer einzigen Zeile bewerkstelligen
Stacks Image 945
Diejenigen Tage deren Zahläquivalent eine Primzahl ist ermittelt man dann in der selben Art und Weise wie oben. Das Ergebnis ist dann wie folgt:
Stacks Image 949
Hier die Dubletten herauszufinden ist auch sehr einfach. Einfach die Liste sortieren und anschließend mit dem Befehl Split aufteilen.
Stacks Image 953

Jetzt nur noch schnell die Dubletten identifizieren. Das erledigt der Befehl Select
Stacks Image 967

Also haben wir die Primzahlzwillinge der besondern Art gefunden Der 21. Januar 2013 ist in gewisser Weise mit dem 2. November verschwistert, ebenso wie der 21. Februar mit dem 2. Dezember. Wer hätte gedacht, daß eine Zugfahrt am 12. Juni so unterhaltsam sein kann? Der Text ist fertig und ich bin fast schon zu Hause.
Für nächstes Jahr muß ich mir aber etwas Anderes einfallen lassen.

Download