mercredi 3 octobre 2012

Et la TI-66 avec un programme optimisé ?

En général, plus les CPU consomment de l'énergie, plus ils sont puissants. Et je constate que la TI-66, qui est ma calculatrice programmable qui possède l'autonomie la plus longue (750 heures juste avec deux piles LR-44 !), est aussi la plus lente de toutes, en calcul programmé. Mais à l'usage, en mode manuel, cette lenteur ne se ressent pas.

L'algorithme que je testais jusqu'ici se contentait d'essayer la division de n par tous les nombres impairs entre 2 et racine de n. Dès que le résultat de la division est entier (reste = 0), on arrête : n n'est pas premier.

L'idée, pour optimiser un peu le programme sur la TI-66, qui possède plus de mémoire que la HP-25, était d'éliminer rapidement tous les multiples de 3, entre 5 et racine de n. On compte donc de 2 en 2 jusquà 7. Puis on va ajouter 4 pour tester 11, puis on alterne entre +2 (on teste 13) et +4 (on teste directement 17).

Avec le programme ci-dessous qui contient cette optimisation, la TI-66 répond que 524 287 est premier en moins de 8 minutes. Et on pourrait certainement l'optimiser encore, pour battre la HP-25... mais cela ne démontrerait pas grand chose !

"Ce nombre est-il premier ?" (version 2) pour TI-66 partie 1/2

Je n'avais pas trop d'idée sur comment publier rapidement mes programmes, sans erreur, et de façon lisible (tableau), alors je fais des copies d'écran de Gnumeric.

 Deuxième partie du programme optimisé pour TI-66 :

"Ce nombre est-il premier ?" (version 2) pour TI-66 partie 2/2


Aucun commentaire:

Enregistrer un commentaire