Spé Terminale S - Adaptation d'un programme pour Nspire....

B'jour à tous,
Voila l'histoire, je suis en Term.S Spé maths et donc bon, ben il est souvent utile de faire des programmes pour par exemple, trouve a et b tel que PGCD(a,b) = x et PPCM(a,b) = y bref, c'est bien pour vérifier etc.
J'ai donc fait ca tranquillement sur ma nspire cas, sans probleme, le programme marche, voila le code : (vous pouvez me dire ce que vous en pensez...)
Le problème vient après, quand j'ai voulu faire ce même programme, mais cette fois sur ma 84+. La, tout est possible aussi, c'est pas très compliqué comme code, comme vous l'avez peut-être vu, mais pourtant, ca ne donne pas les mêmes résultats...
Jugez par vous-mêmes avec le code (N'hésitez pas a me dire ce qui va pas / peut être amélioré) :
Bon, et bien quand j'exécute ces programmes avec les données de l'exercice de spé (PGCD(a,b)=980 et PPCM(a,b)=49980), j'obtiens un résultat juste sur la nspire (1 et 51 puis 3 et 17) et faux (enfin, ca ne m'affiche pas tout ce que ca devrais) sur la 84+... (seulement 1 et 3, comme si ça s'arrêtait et ne continuait pas dans la boucle pour trouver les autres diviseurs
Bon, et ben voila, normalement les deux programmes devraient faire quasiment la meme chose, enfin dans le fond ca devrait être pareil, mais bon, ca ne marche pas .... Merci de m'aider
EDIT : PROBLEME REGLE
Merci
Voila l'histoire, je suis en Term.S Spé maths et donc bon, ben il est souvent utile de faire des programmes pour par exemple, trouve a et b tel que PGCD(a,b) = x et PPCM(a,b) = y bref, c'est bien pour vérifier etc.
J'ai donc fait ca tranquillement sur ma nspire cas, sans probleme, le programme marche, voila le code : (vous pouvez me dire ce que vous en pensez...)
- Code: Select all
Define LibPub pgcdppcm(d,m)=
Prgm
:DelVar liste
:1 [-] j
:{2,3,5,7,11,13,17,19,23,31,37,41} [-] lprem
:((m)/(d)) [-] apbp
:Disp "a'*b' = ",apbp
:For i,lprem[1],lprem[dim(lprem)]
:If remain(apbp,i)=0 Then
:i [-] liste[j]
:j+1 [-] j
:EndIf
:EndFor
:Disp {1,apbp}
:Disp liste
:EndPrgm
Le problème vient après, quand j'ai voulu faire ce même programme, mais cette fois sur ma 84+. La, tout est possible aussi, c'est pas très compliqué comme code, comme vous l'avez peut-être vu, mais pourtant, ca ne donne pas les mêmes résultats...
Jugez par vous-mêmes avec le code (N'hésitez pas a me dire ce qui va pas / peut être amélioré) :
- Code: Select all
:ClrHome
:ClrAllLists
:Input "PGCD(a,b)= ",D
:Input "PPCM(a,b)= ",M
:1 [-] J
:{1,2,3,5,7,11,13,17,19,23,31,37 [-] LPREM
:dim(LPREM [-] L
:M/D [-] C
:Output(5,1,"a'*b' =
:Output(5,9,C
:For(i,LPREM(1),LPREM(L)
:If not(fPart(C/I
:Then
:I [-] LRES(J
:J+1 [-] J
:End
:End
:Output(7,1,LRES
:Pause
:ClrHome
:Output(1,1,"
Bon, et bien quand j'exécute ces programmes avec les données de l'exercice de spé (PGCD(a,b)=980 et PPCM(a,b)=49980), j'obtiens un résultat juste sur la nspire (1 et 51 puis 3 et 17) et faux (enfin, ca ne m'affiche pas tout ce que ca devrais) sur la 84+... (seulement 1 et 3, comme si ça s'arrêtait et ne continuait pas dans la boucle pour trouver les autres diviseurs
Bon, et ben voila, normalement les deux programmes devraient faire quasiment la meme chose, enfin dans le fond ca devrait être pareil, mais bon, ca ne marche pas .... Merci de m'aider

EDIT : PROBLEME REGLE

Merci
