L’algorithme de Syracuse 1. Voici un petit programme écrit pour une calculatrice CASIO : ‘’ N= ‘’ : ? N N-2*Int(N/2) R If R = 0 Then N/2 Y Else 3*N + 1Y IfEnd ‘’Y =’’ Y a. Tester ce programme pour quelques valeurs affectées à N (on prendra des entiers naturels). Que semble-t-on obtenir en sortie de ce programme ? b. Quel nombre est placé dans la variable R ? (ligne 2) Aide : Int(X) désigne la partie entière d’un nombre réel X. Si X est un nombre réel positif ou nul écrit sous forme décimale, Int(X) est égal à l’entier placé avant la virgule. Par exemple : Int(2,78) = 2 ; Int((0,333) = 0 … Donner Int(124,376), Int(π) , Int(√2). c. Ecrire un algorithme en langage naturel associé à ce programme. 2. L’algorithme de Syracuse. a. Considérons l’algorithme suivant : Entrée Saisir n : entier naturel non nul. Traitement Tant que n ≠1 Si n est pair alors n prend la valeur n/2 sinon n prend la valeur 3n + 1 FinSi Sortie Afficher n FinTantque b. Les nombres calculés à partir de n avec cet algorithme, forment la suite de Syracuse de n. Vérifier que pour n = 6, cet algorithme donne la suite 6 ; 3 ; 10 ; 5 ; 16 ; 8 ; 4 ; 2 ; 1. Quelle suite obtient-on à partir de n = 34 ? n = 75 ? c. Ecrire un programme associé à cet algorithme et le faire fonctionner avec quelques valeurs de n (Eviter 27, prendre plutôt 26 ou 20 !). Quelle conjecture peut-on énoncer ? d. Un peu d’info : La conjecture établie s’appelle la conjecture de Syracuse (Université américaine près de New York, rien à voir avec le port de Sicile !), l’une des plus célèbres conjectures mathématiques : Il semble que pour tout entier naturel non nul choisi, la répétition de ce programme de calcul conduit à 1 après un nombre fini d’étapes. Elle n’a, à ce jour, jamais été démontrée …….