Cette tâche consiste à écrire du code pour calculer exactement une probabilité. La sortie doit être une probabilité précise écrite sous forme de fraction dans sa forme la plus réduite. C'est-à-dire qu'il ne devrait jamais sortir 4/8
mais plutôt 1/2
.
Pour un entier positif n
, considérez une chaîne uniformément aléatoire de 1 et -1 de longueur n
et appelez-la A. Maintenant, concaténez à A
sa première valeur. C'est A[1] = A[n+1]
si l'indexation à partir de 1. a A
maintenant une longueur n+1
. Considérons maintenant également une deuxième chaîne aléatoire de longueur n
dont les premières n
valeurs sont -1, 0 ou 1 avec probabilité 1 / 4,1 / 2, 1/4 chacune et appelons-la B.
Par exemple, réfléchissez n=3
. Les valeurs possibles pour A
et B
pourraient être A = [-1,1,1,-1]
et B=[0,1,-1]
. Dans ce cas, les deux produits intérieurs sont 0
et 2
.
Considérons maintenant le produit intérieur de A[1,...,n]
et B
et le produit intérieur de A[2,...,n+1]
et B
.
Votre code doit générer la probabilité que les deux produits internes soient nuls.
Car n=1
cette probabilité est clairement 1/2
.
Cela ne me dérange pas comment n
est spécifié dans le code, mais il devrait être très simple et évident comment le changer.
Langues et bibliothèques
Vous pouvez utiliser n'importe quelle langue et bibliothèque de votre choix. Je voudrais exécuter votre code, veuillez donc inclure une explication complète sur la façon d'exécuter / compiler votre code sous Linux si possible.
n=4
compte-t-il comme zéro, deux ou trois octets? La sortie doit-elle être exacte a/b
ou serait-elle [a b]
, par exemple, autorisée?
n
? Sinon, je pense que ce n'est pas permis.
n
seraient utiles. Un exemple explicite de A, B et des deux produits internes peut également être utile.