Misez p'tit Optimisez n°70 : les couples sexy

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Avatar du membre
gege
Fonctionne à 14400 bauds
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

Message par gege »

Bonjour,
Bravo, chapeau bas sur cette machine pas facile à dompter pour un calcul si difficile.
G.E.
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
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

Message par C.Ret »

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.

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))
Et son pendant pour SHARp PC-1211:

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
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.

Code : Tout sélectionner

63: 751.757
64: 821.827
65: 823.829
ERROR 2 IN 4
Image
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.
Avatar du membre
gege
Fonctionne à 14400 bauds
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

Message par gege »

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.
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
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

Message par C.Ret »

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.
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.
Répondre

Retourner vers « Tous les Pockets »