Bonjour,
Bravo, chapeau bas sur cette machine pas facile à dompter pour un calcul si difficile.
G.E.
Misez p'tit Optimisez n°70 : les couples sexy
Modérateur : Politburo
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3419
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Misez p'tit Optimisez n°70 : les couples sexy
Bonsoir à tous.
L'accalmie survenant à près la première mi-temps des festivités de cette fin d'année 2017 me donne l'occasion de reprendre cette recherche des paires de nombres sexy.
Je poste donc une version encore plus optimisé pour SHARP PC 1360 de l'algorithme ci-dessus. Un gain important d'octets en obtenu en optimisant les trois tests de fin de programme. L'idée initiale étant d'éviter la répétition du test Q>F(i) suivi systématiquement d'un test contraposé Q<F(i) inutile.
Et son pendant pour SHARp PC-1211:
Dans cette version limité à 9 facteurs premiers, l'exécution du code s'arrête après avoir affiché/imprimé 65 couples sur une erreur 2 à la ligne 4. Il s'agit en réalité d'une division par zéro provoquée par la division par F(9) qui est laissé volontairement à zéro pour arrêter la machine avant d'afficher des couples non premiers.
Mais rien ne vous empêche de modifier la taille du tableau et d'afficher/imprimer des dizaine de milliers de couples de nombre premier sexy.
L'accalmie survenant à près la première mi-temps des festivités de cette fin d'année 2017 me donne l'occasion de reprendre cette recherche des paires de nombres sexy.
Je poste donc une version encore plus optimisé pour SHARP PC 1360 de l'algorithme ci-dessus. Un gain important d'octets en obtenu en optimisant les trois tests de fin de programme. L'idée initiale étant d'éviter la répétition du test Q>F(i) suivi systématiquement d'un test contraposé Q<F(i) inutile.
Code : Tout sélectionner
1:CLEAR : S=1,N=5: DIM F(9)
2:P=1,L=F<9,F=F+L,F(F)=N*L: IF B LET C=C+1: PAUSE STR$ C;": ";N-6; STR$ N
3:B=A,A=P,P=0,N=N+2*S,S=1+(S=1),I=0
4:I=I+1,Q=N/F(I): GOTO 3+(Q<> INT Q)*SGN (Q-F(I))
Code : Tout sélectionner
1:CLEAR :D=1,E=5,F=9 oo16
2:G=1,H=F<19,F=F+H,A(F)=EH:IF BLET C=C+1:PRINT E-6;E;" #";C oo50
3:B=A,A=G,G=0,E=E+2D,D=1+(D=1),I=9 oo35
4:I=I+1,H=E/A(I):GOTO 3+(H<>INT H)*SGN (H-A(I)) oo38
o139
Mais rien ne vous empêche de modifier la taille du tableau et d'afficher/imprimer des dizaine de milliers de couples de nombre premier sexy.
Code : Tout sélectionner
63: 751.757
64: 821.827
65: 823.829
ERROR 2 IN 4
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.
- gege
- Fonctionne à 14400 bauds
- Messages : 7147
- Enregistré le : 31 janv. 2008 14:24
- Localisation : Banlieue Paârisienne
- Contact :
Re: Misez p'tit Optimisez n°70 : les couples sexy
Bonjour,
Félicitations je ne vois rien à améliorer dans ton programme.
Bien joué
(ce message pour dire qu'on lit tes trucs, si si)
G.E.
Félicitations je ne vois rien à améliorer dans ton programme.
Bien joué
(ce message pour dire qu'on lit tes trucs, si si)
G.E.
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3419
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Misez p'tit Optimisez n°70 : les couples sexy
Merci gégé, mais je n'en doutais pas un seul instant car le compteur de ce thread tourne toujours. C'est d'ailleurs pour cela que je poste les évolutions de nos cogitations au fur et à mesure.
Ce qui ne manquera pas de sujet d'essais pour de prochaines machines comme les New RPL ou les 42s à écran magique !
Ensuite, je viens de finir de nettoyer mon imprimante et fabriquer un nouveau rouleau de papier
Ils ne sont pas beaux et sexy mes coupes tous premiers bien imprimés sur ce bout de papier un peu froissé ?
En plus, c'est bientôt fini l'année 2017 première, nous nous aprétons dans quelques heures à revenir en année composée.
Ce qui ne manquera pas de sujet d'essais pour de prochaines machines comme les New RPL ou les 42s à écran magique !
Ensuite, je viens de finir de nettoyer mon imprimante et fabriquer un nouveau rouleau de papier
Ils ne sont pas beaux et sexy mes coupes tous premiers bien imprimés sur ce bout de papier un peu froissé ?
En plus, c'est bientôt fini l'année 2017 première, nous nous aprétons dans quelques heures à revenir en année composée.
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.