Pas d'autres solutions que de tester ttes les possibilités

http://forum89.vvlr.com/viewtopic.php?t=218
Egalement ceci




:INPUT A
:ROUND(£A,0)+1-> (£=racine carrée)
:B
:IF REMAINDER(A,
2)=0
:THEN
:2->C
:GOTO 1
:END
:FOR(C,3,B,2
:IF REMAINDER(A,
C)=0:GOTO 1
:END
grinISP A,"EST EST PRE
MIER"
sorryTOP
LBL 1
grinISP "DIVISIBLE
PAR:",C


extrait de http://membres.lycos.fr/lamite/ti80.html
Effectivement ton prog est court mais pas trop optimiser.

Avec bcq plus de mémoire tu enregistre le nbr premier trouvé 3 5 7 11 13 ...dans une liste et tu les rapelle a chaque nbre. Tes prog gagneront en vitesse mais il risque de manquer de memoire.