Petites enigmes > Réponse Sciences sujet
-
posté 09/05/19 (23:01)Gâterie a écrit :
Les prisonniers vont commencer par se numéroter de 1 à 100. Le prisonnier numéro n va annoncer le nombre g(n) :
g(n) = n - sum(nombres qu'il voit sur les autres prisonniers).
Hic.
On imagine un monde où les 100 prisonniers ont tous le chiffre 1, le premier gars passe donc g(1) = 1 - 99 = -98, c'est ce qu'il doit annoncer ?
Démonstration que ça fonctionne : on note f : [1,100] -> [1,100] la fonction qui au prisonnier numéro n associe le nombre qui lui est assigné f(n). On note m = sum(f(n)). On va montrer que g(m) = f(m), ie que le prisonnier m répond le nombre qui lui est attribué.
g(m) = m - sum(nombres qu'il voit sur les autres prisonniers)
= m - sum_(n différent de m) (f(n))
= sum(f(n)) - sum_(n différent de m) (f(n))
= f(m)
qed
Il y a deux choses ici : tu as seulement prouvé que g(m) = f(m), ça reste un cas très particulier. De plus ce cas n'a plus aucun sens dès lors que tu as la m = sum(f(n)) > 100, c'est à dire à partir du moment où l'un des prisionniers a un numéro supérieur ou égal à deux. Ca n'a plus de sens car tu définis tes fonctions à partir de [[1,100]] et on peut avoir m > 100 dès, quelque soit n, f(n) > 2, donc f(m) n'est pas définie.
Une solution où 99% des prisonniers s'en sortent serait comme t'essaies de le mentionner, le premier prisonnier se sacrifie en annonçant la somme des 99 autres nombres qu'il voit, puis les 99 concernés excluent celui qui s'est sacrifié et font nombre annoncé moins les 98 autres nombres que je vois.
Une solution où 100% des prisionniers s'en sortent serait le cas précédent + s'ils ont le droit d'ajouter une seconde information du type "mon numéro est xxx, et la somme des prisonnier est yyy"