import java.io.*; public class zahlen { public static void main (String args[]) throws IOException { info(); try { zaehlen(); } catch (Exception ausnahme) { System.out.println("Datei nich da"); } } public static void info() { System.out.println("Die Häufigkeiten der Ziffern in einer zufälligen Zahlenfolge werden ermittelt..."); } public static void zaehlen() throws Exception { File f = new File("prime0.txt"); int ergebnis[] = new int[10]; for (int i=0;i<ergebnis.length;i++) ergebnis[i]=0; try { FileReader fr = new FileReader(f); BufferedReader eingabe = new BufferedReader(fr); String reihe = eingabe.readLine(); while (reihe != null) { for (int i=0; i<reihe.length();i++) for (int z=0; z<10; z++) if (((int) reihe.charAt(i) - 48) == z) ergebnis[z]++; reihe = eingabe.readLine(); } } catch (FileNotFoundException ausnahme) { System.out.println("Datei nich da"); } for (int z=0; z<10;z++) { System.out.print("Häufigkeit von " + z + ": "); System.out.println(ergebnis[z]); } } }Die größte Primzahl liegt in einem TextFile vor, in dem die Ziffern dieser (riesigen) Zahl in Zeilen zu je 80 Zeichen gespeichert ist. Wir untersuchen zuerst die ersten 23 Zeilen dieser Datei (``prime0.txt'') und erhalten die folgende Ausgabe:
Häufigkeit von 0: 180 Häufigkeit von 1: 170 Häufigkeit von 2: 159 Häufigkeit von 3: 158 Häufigkeit von 4: 184 Häufigkeit von 5: 184 Häufigkeit von 6: 179 Häufigkeit von 7: 199 Häufigkeit von 8: 160 Häufigkeit von 9: 152Bei der Durchmusterung der kompletten Primzahl (``prime5.txt'') fällt auf, dass alle Ziffern praktisch gleich häufig auftreten:
Häufigkeit von 0: 405083 Häufigkeit von 1: 405614 Häufigkeit von 2: 405068 Häufigkeit von 3: 405928 Häufigkeit von 4: 405491 Häufigkeit von 5: 404915 Häufigkeit von 6: 405154 Häufigkeit von 7: 405308 Häufigkeit von 8: 406672 Häufigkeit von 9: 404713
Wie viele Zahlen hat die derzeit größte Primzahl? Wie viele Seiten der Tageszeitung ``Die Presse'' könnten damit - schätzungsweise - bedruckt werden?
Anmerkung: Zufallszahlen spielen ebenso wie große Primzahlen eine bedeutende Rolle für moderne Verschlüsselungsverfahren.