Misez p'tit Optimisez n°94 : les nombres de Motzkin
Modérateur : Politburo
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
Sur Casio fx-3800p, 7 secondes pour calculer M(100) (avec l'algo de Gege).
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3421
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
Avec le code utilisant les deux Cx,y mon HP-15C met un peu plus de 10min pour calculer M(100), c'est long.
Code : Tout sélectionner
LBL A STO 0 0 STO 1 GTO 1
LBL 0 Cy,x LSTx RCL 1 Cy,x × ISG 1 PSE RCL÷1 +
LBL 1 RCL 0 RCL 1 RCL+1 x≤y? GTO 0
R↓ x↔y RTN
Avec le code de gégé qui utilise les registres R1 à R6 mon HP-15C met un peu moins de 2 min pour calculer M(100), c'est bien !
Code : Tout sélectionner
LBL A STO 1 1 STO 2 STO 5 STO 6 + 1 + STO 3 1 + STO 4
LBL 1 RCL 1 RCL 5 RCL+5 x>y? GTO 2
RCL 3 RCL÷5 2 - STO×2 1 STO+5 RCL 4 RCL÷5 2 - STO×2
RCL 2 STO+6 GTO 1
LBL 2 RCL 6 RTN
Par exemple, pour M(10) l'itération fait varier R0 de n=10 à 1 et R1 de k=1 à k=5.
Comme n et k interviennent respectivement au numérateur et dénominateur de chaque coefficient, on a les accroissements multiplicatifs suivants dans l'accumulateur a :
a={1 ; 1*10/1=10 ; 10*9/2=45 ; 45*8/2=180 ; 180*7/3=420 ; 420*6/3=840 ; 840*5/4=1050 ; 1050*4/4=1050 ; 1050*3/5=630 ; 630*2/5=252
; 252*1/6=42 }
Et le résultat Mn est obtenu en effectuant la somme M(10) = 1 + 45 + 420 + 1050 + 630 + 42 = 2188.
Ce qui correspond bien à .
Avec le code ci-dessous basé sur l'idée de gégé et utilisant une implémentation n'utilisant que la pile (pour la somme) et les registres R0 R1 et R2 (respectivement n, k et a), la même calculette HP-15C ne met que 1min26" pour afficher le même M(100), c'est un peu mieux !!
Code : Tout sélectionner
LBL A STO 0 1 x≥y? RTN STO 1 STO 2
LBL 1 RCL 2 RCL×0 RCL÷1 ISG 1
LBL 2 DSE 0 GTO 3 R↓ RTN
LBL 3 RCL×0 RCL÷1 STO 2 + DSE 0 GTO 1 RTN
Modifié en dernier par C.Ret le 17 juil. 2020 12:15, modifié 2 fois.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
'gnifique !C.Ret a écrit : ↑16 juil. 2020 21:38 Avec le code ci-dessous basé sur l'idée de gégé et utilisant une implémentation n'utilisant que la pile (pour la somme) et les registres R0 R1 et R2 (respectivement n, k et a), la même calculette HP-15C ne met que 1min26" pour afficher le même M(100), c'est un peu mieux !!(ne cherchez pas de GTO 2, l'étiquette LBL 2 peut être remplacer par n'importe quelle instruction, elle est skipée systématiquement par le ISG 1 précèdent)Code : Tout sélectionner
LBL A STO 0 1 x≥y? RTN STO 1 STO 2 LBL 1 RCL 2 RCL×0 RCL÷1 ISG 1 LBL 2 DSE 0 GTO 3 R↓ RTN LBL 3 RCL×0 RCL÷1 STO 2 + DSE 0 GTO 1 RTN
Et j'avoue que le coup du ISG qui sert juste à incrémenter un registre, je n'y pense jamais... faut que je m'en rappelle !
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3421
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
Moi c'est l'inverse, je fais parfois que utiliser les DSE et ISG (respectivement DSZ et ISZ sur les Classic)
Par exemple, cette version qui en abuse avec le même principe de fonctionnement que précédemment, mais plus court:
Code : Tout sélectionner
001- ClrREG STO 0 1 STO 1
005- LBL 1 STO+2 RCL×0 RCL÷1 DSE 0 ISG 1 CLx RCL×0 RCL÷1 DSE 0 GTO 1
016- RCL+2
Pour M(100) mon HP-15C affiche 7,374155 E 44 au bout de 1min14".
Modifié en dernier par C.Ret le 30 juil. 2020 22:01, modifié 1 fois.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3421
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
Débloqué !C.Ret a écrit : ↑15 juil. 2020 22:11 [...]Je cherche à éviter les conversions. Une bonne idée aussi est de pré-dimensionner les deux vecteurs A et B pour éviter les réarrangement mémoire dans la boucle de calcul.
Malheureusement, il faut à chaque fois inverser l'ordre dans l'un des deux vecteurs. Je bloque !
Le point bloquant était de vouloir pré-dimensionner les vecteurs. La bonne idée issue des listes était d'ajouter les éléments en début ou en fin de liste.
Il est possible de faire de même avec les vecteurs. Plus besoin de boucle d'inversion, le redimensionnement des deux vecteurs se fait naturellement dans la pile (infinie) du système RPL:
Code : Tout sélectionner
« → n
« [ 1 ] DUP 1 /* Initialise les deux vecteur A:[m0] et B:[1] et le premierterme m1
IF n 2 ≥ THEN
2 n FOR i
ROT ARRY→ DROP i ROLL OVER i 1 + ROLLD i →ARRY /* Ajoute le nouveau terme à la fin du vecteur A
SWAP ROT ARRY→ DROP i →ARRY DUP2 DOT /* Ajoute l'avant dernier élément de A au début du vecteur B
DUP2 DOT /* calcule le terme suivant
NEXT
END SWAP DROP » » /* Efface vecteur B, donne 1:M(n) et Laisse la vecteur A dans la pile
Puis le nombre de Motzkin du niveau 1: est ajouté à la fin du vecteur A et l'avant dernier terme du nouveau vecteur A (en réalité l'ancien dernier élément de A) est ajouté au début du vecteur B. Les ajouts aux deux vecteur se faisant en les "étalant" dans la pile par l'instruction ARRY→ et en les regroupant par l'instruction réciproque i →ARRY où i est l'indice de boucle donnant également la taille des vecteurs A et B.
Pour donner une idée des mouvements et jeux de la pile opérationnelle, je donne un aperçu signalétique de deux premières itérations. Pour faciliter la lecture, j'ai repéré les termes m0, m1, m2, etc mais en réalité seules les valeurs numériques sont manipulées par l'HP-28S
(Première Itération i=2)
Code : Tout sélectionner
5: [1]
4: [1] [1] [1] m0 [1]
3: [m0] [1] m1 [1] m1 [1] m0 m1 m0 [1]
2: [1] m1 m0 m1 m0 m0 m1 m0 m0 m0
1: m1 [m0] {1} m0 2 m1 m0 3 m1 [m0 m1]
ROT ARRY→ DROP i ROLL OVER i 1 + ROLLD i →ARRY
5:
4: [m0 m1] [m0 m1] [m0 m1]
3: [1] [1] [m0 m1] m0 [m0 m1] m0 [m0 1] [m0 m1]
2: m0 [m0 m1] m0 1 m0 1 [m0 m1] [m0 m1] [m0 1]
1: [m0 m1] m0 [1] {1} 1 2 [m0 1] [m0 1] m2
SWAP ROT ARRY→ DROP i →ARRY DUP2 DOT NEXT
Code : Tout sélectionner
6: [m0 1]
5: [m0 1] [m0 1] [m0 1] m0 [m0 1]
4: m2 [m0 1] m2 [m0 1] m0 m1 m1
3: [m0 m1] [m0 1] m0 m2 m0 m0 m1 m2 m0 [m0 1]
2: [m0 1] m2 m1 m0 m1 m1 m2 m1 m1 m1
1: m2 [m0 m1] { 2 } m1 3 m2 m1 4 m2 [m0 m1 m2]
ROT ARRY→ DROP i ROLL OVER i 1 + ROLLD i →ARRY
6:
5: [m0 m1 m2] [m0 m1 m2]
4: m1 [m0 m1 m2] m1 [m0 m1 m2]
3: [m0 1] [m0 1] [m0 m1 m2] m0 m1 m0 [m1 m0 1] [m0 m1 m2]
2: m1 [m0 m1 m2] m1 1 m0 1 [m0 m1 m2] [m0 m1 m2] [m1 m0 1]
1: [m0 m1 m2] m1 [m0 1] {2} 1 3 [m1 m0 1] [m1 m0 1] m3
SWAP ROT ARRY→ DROP i →ARRY DUP2 DOT NEXT
A la fin des itération, la pile contient les deux vecteurs A et B ainsi que le Nombre de Motzkin souhaité. Les instruction SWAP DROP permettent de ne conserver que le vecteur A contenant les nombres de M(0) à M(n-1) et le résultat souhaité M(n).
Ce qui permet de calculer M(100) en environ 2min24".
C'est loin d'être le plus rapide sur HP-28C/S, le calcul de M(100) prend moins de 3.52sec et M(260) environ 7.96sec avec le code suivant :
Code : Tout sélectionner
« → n « 1 1 1 // Initialise respectivement Mn j et a
n 1 FOR i
i i 1 - * * // Multiplie a par i*(i-1)
OVER 1 + SWAP ROT / OVER / // Divise a par j.(j+1) et laisse (j+1) dans la pile
ROT OVER + ROT ROT // Ajoute une copie de a à Mn
-2 STEP DROP2 » » // Efface j et a pour laisser le résultat Mn
Code : Tout sélectionner
« CL∑ 1 DUP ∑+ // Initialise matrice statistique et accumulateur a
SWAP 1 FOR n
n DUP 1 - * * // Multiplie a par n et (n-1)
N∑ DUP 1 + * / // Divise a par k et (k+1)
DUP ∑+ // Ajoute copie de a dans matrice statistique
-2 STEP
DROP TOT » // Efface dernier a et donne résultat
Modifié en dernier par C.Ret le 19 juil. 2020 09:58, modifié 1 fois.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3421
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
Comme personne ne semble plus utiliser de calculatrice Texas Instruments, je suis obligé :
M(100) approché en 1min38" et 25 pas de programme sur TI-57 LCD
Partition n°3 (c'est à dire 25/32 pas de programme et 3/3 registres R0 R1 et R2 utilisés)
On notera l'utilisation de inv DSZ et DSZ. Sur TI-57 LCD, il n'y a pas de fonction ISG, les instructions DSZ et inv DSZ décrémentent toutes les deux le registre R0 jusqu'à atteindre zéro (en réalité elles augmentent ou diminuent la partie entière de R0 d'une unité selon son signe (ou pas si R0 est déjà nul)). La différence entre DSZ et inv DSZ provient de la façon dont se fait le branchement conditionnel à l'issue de la décrémentation; DSZ saute (skipe) le pas suivant si R0 est nul après décrémentation alors que inv DSZ saute le pas suivant si R0 est non-nul après décrémentation.
La version que j'ai posté peut être encore optimisée et il faut aussi corriger un 'bug' que tout le monde, et j'espère tous les utilisateurs de TI, a remarqué ici, lors de l'enchainement de plusieurs déterminations !
M(100) approché en 1min38" et 25 pas de programme sur TI-57 LCD
Partition n°3 (c'est à dire 25/32 pas de programme et 3/3 registres R0 R1 et R2 utilisés)
On notera l'utilisation de inv DSZ et DSZ. Sur TI-57 LCD, il n'y a pas de fonction ISG, les instructions DSZ et inv DSZ décrémentent toutes les deux le registre R0 jusqu'à atteindre zéro (en réalité elles augmentent ou diminuent la partie entière de R0 d'une unité selon son signe (ou pas si R0 est déjà nul)). La différence entre DSZ et inv DSZ provient de la façon dont se fait le branchement conditionnel à l'issue de la décrémentation; DSZ saute (skipe) le pas suivant si R0 est nul après décrémentation alors que inv DSZ saute le pas suivant si R0 est non-nul après décrémentation.
La version que j'ai posté peut être encore optimisée et il faut aussi corriger un 'bug' que tout le monde, et j'espère tous les utilisateurs de TI, a remarqué ici, lors de l'enchainement de plusieurs déterminations !
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3421
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
A mince, c'est presque deux fois plus long sur une CASIO fx-602p
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
Bonjour à tous.
C.RET, on peut encore gagner 2 pas dans le programme 602P (ça fait quand même 6,7% lol) :
. Le AC est inutile.
. La séquence ... MR01 x 1 M+01 / MR01 peut s'écrire ... MR01 / 1 M+01 MR01
On peut aussi gagner une petite seconde en plus des 2 pas pour 100 P0 comme suit:
EDIT : j'avais mal recopié le pgm ;D
On peut aussi gagner 3 pas (soit 10%) comme suit :
Ce qui fait 26 pas (ou plutôt 27 car chaque zone programme utilisée compte pour 1 pas)
Je voulais tester la vitesse sur ma 603P mais "Lowbat!"
On remarque au passage que les 502/602/603P sont très proches de la TI57 niveau programmation, bien plus que les TI58/59
Si on ne gère pas le cas "0", le programme passe à 25 pas (en comptant P0) comme la TI57 :
Soit quasiment le programme de C.RET (qui ne gére pas le cas 0 il me semble?) a 2 détails près :
-> inv DSZ n'existe pas sur 502P&co mais ici DSZ x=0 fait l'affaire
-> La 502P&co est plus souple coté syntaxe. Une séquence genre 2 * 1 M+01 MR01 = Min02 ne la géne pas. ca équivaut en pseudo langage à :
MR01 := MR01 + 1
MR02 := 2 * MR01
C.RET, on peut encore gagner 2 pas dans le programme 602P (ça fait quand même 6,7% lol) :
. Le AC est inutile.
. La séquence ... MR01 x 1 M+01 / MR01 peut s'écrire ... MR01 / 1 M+01 MR01
On peut aussi gagner une petite seconde en plus des 2 pas pour 100 P0 comme suit:
Code : Tout sélectionner
[P0]
x=0 1 Min00 1 Min01 Min02
LBL0
x MR00 DSZ GOTO1 GOTO9
LBL1
x MR00 / MR01 / 1 M+01 MR01 = M+02 DSZ GOTO0
LBL9
MR02
On peut aussi gagner 3 pas (soit 10%) comme suit :
Code : Tout sélectionner
[P0]
x=0 1 Min00 1 Min01 Min02
LBL0
x MR00 DSZ x=0 GOTO9
x MR00 / MR01 / 1 M+01 MR01 = M+02 DSZ GOTO0
LBL9
MR02
Je voulais tester la vitesse sur ma 603P mais "Lowbat!"
On remarque au passage que les 502/602/603P sont très proches de la TI57 niveau programmation, bien plus que les TI58/59
Si on ne gère pas le cas "0", le programme passe à 25 pas (en comptant P0) comme la TI57 :
Code : Tout sélectionner
Min00 1 Min01 Min02
LBL0
x MR00 DSZ x=0 GOTO9
/ MR01 x MR00 / 1 M+01 MR01 = M+02 DSZ GOTO0
LBL9
MR02
-> inv DSZ n'existe pas sur 502P&co mais ici DSZ x=0 fait l'affaire
-> La 502P&co est plus souple coté syntaxe. Une séquence genre 2 * 1 M+01 MR01 = Min02 ne la géne pas. ca équivaut en pseudo langage à :
MR01 := MR01 + 1
MR02 := 2 * MR01
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49g+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+ CM14 et MM12 / Alice 32
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
Avec l'algorithme de Gégé ma HP50g en NewRPL trouve Motzkin(260) :
- en 0,058 sec pour 32 chiffres significatifs. Le même programme en RPL tourne en 6,99s soit 120 fois plus lentement avec 12 chiffres significatifs! (0 sec. sur l'émulateur, qui est plutôt un simulateur en fait ... ou une version du NewRPL compilé avec une cible Windows. AU passage le NewRPL tourne sous Android aussi)
- en 0,092 sec pour 121 chiffres significatifs (0,001 sec sur l'émulateur). Dans de cas les 119 premiers chiffres du résultat sont exacts ;D (en comparant avec C.ret page 2). Ca finit par ....140 au lieu de ...139.
Le NewRpl sur la 50g est plus rapide (*) qu'une Prime et bien plus précise en calcul numérique ;D Par contre la Prime (et la HP50g standard) possèdent un mode exact que n'a pas vraiment le NewRPL.
Je me demande si une autre calculatrice gére aussi facilement une précision paramétrable que la 50g/NewRPL?
(*) en fait le NewRpl sur 50g est _parfois_ plus rapide que la Prime. Sur des calculs « pur » avec de la trigo ou autre elle est environ 2 fois plus lente.
260 octets
J'ai signalé à l'auteur du NewRPL que devrait fonctionner plutôt que le moche
LSTO est un nouvelle commande à comprendre comme Local STO. Cela créé une variable locale visible uniquement dans le programme... ca manquait beaucoup en RPL. Une fois la variable locale créé LSTO et STO sont identiques.
Hors les graphiques et sons, le NewRPL est désormais opérationnel et très stable. La gestion de la carte SD comme un disque est parfaite. la connexion USB avec le PC épatante! La gestion des unités (et conversion d'unités en tout genre) est la meilleure que j'ai jamais vue... Reste quelques petites anomalies ici ou là. La seule chose que j'ose critiquer est la nouvelle interface, moi qui avait tellement l'habitude de l'ancienne, je peste encore contre le nouveau fonctionnement de la touche ALPHA par exemple mais vais finir par m'y faire... je suis totalement bluffé de ce qu'a fait Claudio Lapilli. C'est juste extraordinaire pour qui n'est pas allergique au RPL. J'en ai rêvé, il l'a fait ;D
Ah j'oubiais ! En plus le NewRpl laisse 415Ko de RAM dispo pour les programmes contre 240 environ pour le RPL ;D. Bon presque 20 éditions de ce message j'arrête là !
Pour en savoir plus c'est là https://newrpl.wiki.hpgcc3.org/doku.php?id=start
- en 0,058 sec pour 32 chiffres significatifs. Le même programme en RPL tourne en 6,99s soit 120 fois plus lentement avec 12 chiffres significatifs! (0 sec. sur l'émulateur, qui est plutôt un simulateur en fait ... ou une version du NewRPL compilé avec une cible Windows. AU passage le NewRPL tourne sous Android aussi)
- en 0,092 sec pour 121 chiffres significatifs (0,001 sec sur l'émulateur). Dans de cas les 119 premiers chiffres du résultat sont exacts ;D (en comparant avec C.ret page 2). Ca finit par ....140 au lieu de ...139.
Le NewRpl sur la 50g est plus rapide (*) qu'une Prime et bien plus précise en calcul numérique ;D Par contre la Prime (et la HP50g standard) possèdent un mode exact que n'a pas vraiment le NewRPL.
Je me demande si une autre calculatrice gére aussi facilement une précision paramétrable que la 50g/NewRPL?
(*) en fait le NewRpl sur 50g est _parfois_ plus rapide que la Prime. Sur des calculs « pur » avec de la trigo ou autre elle est environ 2 fois plus lente.
Code : Tout sélectionner
«
-> n
«
1 'a' LSTO 1 'k' LSTO 1 'm' LSTO
n 2 + 'p' LSTO
n 3 + 'q' LSTO
WHILE k 2 * n <= REPEAT
a p k / 2 * 'a' LSTO
1 'k' STO+
a q k / 2 - * DUP ' a' STO
'm' STO+
END
m
»
J'ai signalé à l'auteur du NewRPL que
Code : Tout sélectionner
1 {'a' 'k' 'm'} LSTO
Code : Tout sélectionner
1 'a' LSTO 1 'k' LSTO 1 'm' LSTO
Hors les graphiques et sons, le NewRPL est désormais opérationnel et très stable. La gestion de la carte SD comme un disque est parfaite. la connexion USB avec le PC épatante! La gestion des unités (et conversion d'unités en tout genre) est la meilleure que j'ai jamais vue... Reste quelques petites anomalies ici ou là. La seule chose que j'ose critiquer est la nouvelle interface, moi qui avait tellement l'habitude de l'ancienne, je peste encore contre le nouveau fonctionnement de la touche ALPHA par exemple mais vais finir par m'y faire... je suis totalement bluffé de ce qu'a fait Claudio Lapilli. C'est juste extraordinaire pour qui n'est pas allergique au RPL. J'en ai rêvé, il l'a fait ;D
Ah j'oubiais ! En plus le NewRpl laisse 415Ko de RAM dispo pour les programmes contre 240 environ pour le RPL ;D. Bon presque 20 éditions de ce message j'arrête là !
Pour en savoir plus c'est là https://newrpl.wiki.hpgcc3.org/doku.php?id=start
Modifié en dernier par Gilles59 le 26 sept. 2020 19:36, modifié 19 fois.
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49g+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+ CM14 et MM12 / Alice 32
Re: Misez p'tit Optimisez n°94 : les nombres de Motzkin
* comment on supprime un message? *
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49g+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+ CM14 et MM12 / Alice 32