# Pseudozufallszahlen



## Elsa1996 (18. Mai 2016)

Hallo zusammen, ich soll ein Pseudzahlengenerotor erstellen:
Ein Pseudozufallszahlengenerator liefert
 eine Reihe mit n natürlichzahligen Werten 
 aus dem Bereich a bis b (hier. a=1, b=6) 
 „zufällig verteilt“: insbes. gibt es keine wiederholt auftretende Zahlenfolge 
 die n Zahlen unterliegen einer Wahrscheinlichkeitsverteilung (hier: Gleichverteilung) 
Schreiben Sie in der Javaklasse „queue“ eine Methode, die diese Zahlenreihe berechnet und in der Queue ablegt. Generieren Sie in main ein queue-Objekt, in dem eine Reihe von Zufallszahlen abgelegt wird. Anschließend lesen Sie die Werte aus der Queue aus und ermitteln die Verteilung der Werte. Bewerten Sie die Eignung als Zufallszahlenreihe! Testen Sie mit mindestens drei verschiedenen nicht periodischen Reihen! 
Eingabe: n (Begründung!) , x0 , f , m , jeweils > 0 
Ausgabe: entsprechende Zahlenreihe xi, Abbildung auf den Bereich a – b entspr. Variante 1 und Variante 2, sowie die Häufigkeiten der Werte a – b. Hinweis: eine einfache Formel für den i. Wert (1<=i<=n): xi = (f*xi-1+k) modulo (b-a+1) + a (hier: k=0)
 Startwert: a<=x0<=b Problem: die Reihe wird periodisch spätestens nach b-a Werten! Abhilfe xi = (f* xi-1+k) modulo m (m>104 und m>n) Hieraus ergeben sich allerdings Zahlen aus dem Bereich 0 – m-1! Die Ergebnisse xi müssen auf den ursprünglichen Bereich a – b abgebildet werden: Variante 1: 0*p bis 1*p-1 -> a 1*p bis 2*p-1 -> a+1 2*p bis 3*p-1 -> a+2 ... (b-a)*p bis (b-a+1)*p-1 -> b mit p=m/(b-a+1) 
Variante 2: xi modulo (b-a+1) +1

Wie geht das?


----------



## Joose (18. Mai 2016)

Wir werden dir hier keinen fertiges Program liefern (außer vielleicht jemand gegen entsprechendes Entgelt).
Auch ist deine Frage ziemlich ungenau gestellt: Wie man Fragen richtig stellt

Wo genau liegt das Problem? Wie sahen deine bisherigen Programme aus? Welche Erfahrung hast du?


----------



## Elsa1996 (18. Mai 2016)

Ich habe den Code fast fertig, aber weiß nicht wie man  Kontrolliert ob die Zahlen Periodisch sind.


----------



## Tobse (18. Mai 2016)

In einer beliebig großen Sequenz sich wiederholende Subsequenzen von ebenfalls beliebiger Größe zu finden ist ein schweres mathematisches Problem und schon ab sehr kleinen Mengen für die aktuellen Computer nicht lösbar. Die Aufgabenstellung "prüfe, ob es Wiederholungen gibt" muss also noch präzisiert werden. Geht es um einzelne Zahlen? oder drei, oder vier, oder wieviele?


----------

