============ Rappel contact Linkakro --- Adrien Van Der Wende 8 place Croix Fougère --- akp.vdw@orange.fr ============ remarque de compatibilité Le programme n'utilise que des fonctions et syntaxes disponibles de ti82stat à 84pluspocketse mais a été compilé pour 83plus au moins. Je ne sais pas si la conversion 8xp/83p est automatiquement effectuée par une 82stat qui reçoit un 8xp. Cela ne marche pas en émulant avec VirtualTI. ============ Explication requise Entrée : l'ordre est transformé en entier positif (mais pas non-nul) Partie initiale : L'ordre zéro donne le résultat zéro pour montrer que c'est invalide L'ordre 1 donne 2. Les nombres 3 à 11 sont traités par un simple crible qui cherche les nombres premiers, en fin de compte ce seront les impairs sauf 7. ---- Recherche principale : Le programme génère chaque palindrome dans l'ordre croissant puis détermine pour chacun si c'est un nombre premier. Seuls les palindromes à nombre impairs de chiffres sont testés puisque les autres sont multiples de 11. La première moitiée du nombre et le chiffre du milieu sont les seuls chiffres générés, puisque la suite est symétrique. Le nombre de chiffres générés est fixé par une boucle, qui contient les boucles imbriquées de génération de chaque chiffre. Lorsque le nombre de chiffres fixé précédemment est atteint, le palindrome est calculé à partir des chiffres actuels et un crible de primalité est effectué. Le crible des palindromes est interrompu immédiatement dès que le Nième nombre premier demandé via N est trouvé. Pour accélérer les cribles, les premiers nombres premiers jusqu'au 999ième sont déterminés et stockés dans une liste. La primalité est d'abord testée par division du palindrome par la liste. (cela va plus vite qu'avec une boucle) Au début de la boucle du nombre de chiffres sont déterminés les nombres premiers nécessaires (maximum jusqu'au 999ième) : cela permet de moins retarder les calculs pour des palindromes de faible échelle (moins de 7 chiffres). (justification de l'échelle 7 chiffres : 999^2=998001 donc les nombres inférieurs à 998001 n'ont pas besoin de toute la liste pour le test de primalité) Le crible de primalité parcourt les impairs dès 3 jusqu'à la racine carrée du palindrome pour détecter la primalité. La détection d'une seule divisibilité interromp immédiatement le crible. J'ai déjà créé un programme récursif pour permettre des calculs au nombre de chiffres presque illimité mais j'ai finalement opté pour le programme récurrent limité à 9 chiffres : c'est plus rapide et les nombres plus longs (plus de 10 chiffres) ne sont pas facilement lisibles sur une TI. Remarque : la recherche des palindromes est plus performante que la recherche des premiers car deux palindromes successifs de N (impair) chiffres sont espacés d'au moins 10^((N-1)/2) (variation du chiffre du milieu) quand les premiers peuvent l'être de 2.