Immeuble et incendie
On est responsable des procédures incendies dans un immeuble, et on doit mettre en place une méthode innovante : déterminer la hauteur à partir de laquelle on peut sauter sans se tuer.
On considère que tous les humains ont la même résistance pour ces sauts.
on a une opération possible : faire_sauter : int -> bool, une fonction qui permet de tester à une hauteur donnée, et qui renvoie le résultat : vrai si celui qui saute décède à cet étage, faux si il ne décède pas.
Problème général :
Pour les problèmes suivants, on cherche à déterminer la hauteur X dans un immeuble de taille N, à partir de laquelle les humains décèdent. (ils survivent pour tous les étages inférieurs à X et décèdent pour les étages entre X et N)
Problème 1 : Minimiser le nombre de mort pendant le test
Produire un algorithme qui garantit qu'on ne tue qu'au maximum un humain.
Problème 2 : Minimiser le temps du test
Produire un algorithme qui doit déterminer ce nombre le plus vite possible, peu importe combien d'humains décèdent lors des tests
Problème 3 : On a le droit à deux décès lors du test
Produire un algorithme qui détermine le nombre le plus vite possible mais avec la contrainte suivante : au maximum, deux humains doivent décéder lors du test.