Bei dieser Aufgabe geht es darum, Code zu schreiben, um eine Wahrscheinlichkeit genau zu berechnen. Die Ausgabe sollte eine genaue Wahrscheinlichkeit sein, die als Bruch in ihrer am meisten reduzierten Form geschrieben wird. Das heißt, es sollte nie ausgegeben werden 4/8, sondern 1/2.
nBetrachten Sie für eine positive Ganzzahl eine gleichmäßig zufällige Zeichenfolge mit einer Länge von 1s und -1s nund nennen Sie sie A. Verketten Sie nun mit Aihrem ersten Wert. Das heißt, A[1] = A[n+1]wenn die Indizierung von 1. Ajetzt Länge hat n+1. Nun auch eine zweite zufällige Zeichenfolge der Länge betrachten , nderen erste nWerte -1, 0 oder 1 , mit einer Wahrscheinlichkeit von 1 / 4,1 / 2, 1/4 und jedes nennen es B.
Betrachten Sie zum Beispiel n=3. Mögliche Werte für Aund Bkönnten A = [-1,1,1,-1]und sein B=[0,1,-1]. In diesem Fall sind die beiden inneren Produkte 0und 2.
Betrachten Sie nun das innere Produkt von A[1,...,n]und Bund das innere Produkt von A[2,...,n+1]und B.
Ihr Code muss die Wahrscheinlichkeit ausgeben, dass beide inneren Produkte Null sind.
Für n=1diese Wahrscheinlichkeit ist klar 1/2.
Es macht mir nichts aus, wie nim Code angegeben ist, aber es sollte sehr einfach und offensichtlich sein, wie man es ändert.
Sprachen und Bibliotheken
Sie können jede Sprache und Bibliothek verwenden, die Sie mögen. Ich möchte Ihren Code ausführen, daher geben Sie bitte eine vollständige Erklärung an, wie Sie Ihren Code unter Linux ausführen / kompilieren können, wenn dies überhaupt möglich ist.
n=4zählt sie dann als null, zwei oder drei Bytes? Muss die Ausgabe genau sein a/b oder wäre [a b]zB erlaubt?
n? Ansonsten denke ich, dass das nicht erlaubt ist.
nwären hilfreich. Vielleicht hilft auch ein explizites Beispiel für A, B und die beiden inneren Produkte.