Ca fait bien longtemps que je n'ai pas posté sur Sili ... (mais ça ne m'a pas empêché de vous lire très régulièrement et de suivre vos aventures !)
Bon, C.Ret m'a fait ressortir mes machines. Voici donc un algo de Kaprekar méthode alphanumérique sur un 71B. Je ne rivalise pas avec les versions RPL et assembleur bien sûr ...
Le 71B considère ses chaînes alpha comme des tableaux. On accède ainsi simplement à chacun de ses caractères ... pratique pour trier !
Code : Tout sélectionner
10 INPUT A$ @ A$=STR$(VAL(A$))
20 L=LEN(A$) @ FOR J = L-1 TO 1 STEP -1 @ FOR I = 1 TO J
30 L$=A$[1,1] @ R$=A$[I+1,I+1]
40 IF R$>L$ THEN A$[I,I]=R$ @ A$[I+1,I+1]=L$
50 NEXT I @ NEXT J
60 B$=« » @ FOR I = 1 TO L @ B$[I,I]=A$[L-I+1,L-I+1] @ NEXT I
70 A$=STR$(VAL(A$)-VAL(B$))
80 PRINT A$ @ PAUSE @ GOTO 20
B$ contient le nombre trié en croissant
L$ et R$ contienne les caractères extraits pour les comparer et si besoin les échanger.
c'est un tri systématique de la gauche vers la droite ... c'est un tri à bulle ?
@ bientôt
Baba