La suite des virgules

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 de l’utilisateur
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 4847
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: La suite des virgules

Message par bernouilli92 » 09 mai 2020 13:32

J’ai un programme en 96 pas pour hp42s qui imprime les N premiers termes de la suite.
Par contre c’est de la bidouille car je ne suis pas du tout à l’aise avec le hp42s, pour imprimer n et Un, je combine les deux nombres en nombre complexe avant de l’afficher.
Ensuite je ne comprends pas trop comment faire des boucles, apparement il n’y a que ISG et DSZ, mais comment faire des boucles de plus de 1000?
Pas moyen de faire juste une incrémentation ? Quitte à tester avec des opérateurs ensuite ?
Ensuite il y l’éternel problème de faire l’équivalent d’un DROP.
Pièces jointes
Image PNG.png
Image PNG.png (14.86 Kio) Consulté 2924 fois
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
ledudu
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 5599
Inscription : 26 mars 2009 14:07
Localisation : Ile de France
Contact :

Re: La suite des virgules

Message par ledudu » 09 mai 2020 14:07

Merci gégé pour cet exercice, très intéressant.

Sur fx-cp400, même problème pour afficher deux nombres sur une même ligne. On a juste droit à print a.
Il faut les transformer en caractère avant de les concaténer puis de les imprimer : 4 lignes, 4 instructions pour faire un banal PRINT A;B sur un pocket...

Code : Tout sélectionner

NumToStr C,"Fix0",x
NumToStr N,"Fix0",y
Strjoin x,y,z
Print z
Du coup, vues les fonctions caractères, pour extraire le chiffre de gauche, je reste en numérique :

Code : Tout sélectionner

int(r/10^int(LOG10(r)))
Le programme est assez lent et affiche le 1000ème à partir de 1 en 7'17''...
Je vais regarder cette idée de nombre complexe.

Avatar de l’utilisateur
Danny
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 739
Inscription : 28 déc. 2013 17:34

Re: La suite des virgules

Message par Danny » 09 mai 2020 14:58

bernouilli92 a écrit :
09 mai 2020 13:32
J’ai un programme en 96 pas pour hp42s qui imprime les N premiers termes de la suite.
Par contre c’est de la bidouille car je ne suis pas du tout à l’aise avec le hp42s, pour imprimer n et Un, je combine les deux nombres en nombre complexe avant de l’afficher.
Ensuite je ne comprends pas trop comment faire des boucles, apparement il n’y a que ISG et DSZ, mais comment faire des boucles de plus de 1000?
Pas moyen de faire juste une incrémentation ? Quitte à tester avec des opérateurs ensuite ?
Ensuite il y l’éternel problème de faire l’équivalent d’un DROP.
Oui tu peux faire une boucle "à la main", en stockant le compteur dans un registre ou une variable, puis tu testes sa valeur et tu boucles avec des GTO.
Pas mal l'astuce des nombres complexes :) Moi je me suis pas fait ch..., j'affiche le compteur en Y et le terme de la suite en cours en X, et j'imprime juste le X :

Image
Casio fx-702P, 750P, 880p, 3900p, 7000G, 6000G, 6500G, 6800G, 8500G, 4500P, 9900GC, 9950GB +, Graph 100+ USB, Graph 90+E, fx-CP400
HP 35, 45, 65, 21, 25, 67, 33E, 41C, 41CV, 41CX, 15C, 20S, 42S, 28S, 32S, 32SII, 48SX, 48S, 48G, 48GX, 48G+, 50g, 35s, 39gII, Prime
Sharp PC-1245, 1500A, 1430, 1350, 1360, 1403, 1403H, 1262, EL-9000, PC-E500S | Psion Organiser II XP, Organiser II LZ 64 | Tandy PC-7

Avatar de l’utilisateur
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 4847
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: La suite des virgules

Message par bernouilli92 » 09 mai 2020 15:34

C.Ret a écrit :
09 mai 2020 08:13
Pour info les millionièmes termes de la suite virgule issue de 1 sont 47854973 47625267 49308893 49308823 ou 47676838 selon le choix fait aux différentes bifurcations.
J'ai un peu amélioré mon programme pour hp42s, et je trouve la même valeur pour le millionième terme (sans bifurcation).
On doit pouvoir l'adapter sans problème sur un hp19c.
Pièces jointes
99E9E7D4-2DB8-4E4D-9BE5-9CB8253AC568.jpeg
99E9E7D4-2DB8-4E4D-9BE5-9CB8253AC568.jpeg (111.69 Kio) Consulté 2906 fois
Dernière édition par bernouilli92 le 09 mai 2020 16:04, édité 1 fois.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
Danny
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 739
Inscription : 28 déc. 2013 17:34

Re: La suite des virgules

Message par Danny » 09 mai 2020 15:40

Danny a écrit :
09 mai 2020 14:58
je me suis pas fait ch..., j'affiche le compteur en Y et le terme de la suite en cours en X, et j'imprime juste le X :
Bon finalement je me suis fait un peu + ch... pour imprimer aussi l'indice de chaque terme :)

Image
Casio fx-702P, 750P, 880p, 3900p, 7000G, 6000G, 6500G, 6800G, 8500G, 4500P, 9900GC, 9950GB +, Graph 100+ USB, Graph 90+E, fx-CP400
HP 35, 45, 65, 21, 25, 67, 33E, 41C, 41CV, 41CX, 15C, 20S, 42S, 28S, 32S, 32SII, 48SX, 48S, 48G, 48GX, 48G+, 50g, 35s, 39gII, Prime
Sharp PC-1245, 1500A, 1430, 1350, 1360, 1403, 1403H, 1262, EL-9000, PC-E500S | Psion Organiser II XP, Organiser II LZ 64 | Tandy PC-7

Avatar de l’utilisateur
phm
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1368
Inscription : 08 avr. 2016 18:36
Localisation : Est Parisien

Re: La suite des virgules

Message par phm » 09 mai 2020 20:24

Bon
On avance jusqu'au 1 048 571e terme pour une valeur de 50 265 415 :D

Édit : je ne comprends pas les bifurcations dont vous parlez ?
J'ai une suite de calcul logique et sans ambiguïté
HEWLETT-PACKARD : The best
CANON
X-07 X-730 X-711 XR-100 XM-101 XP-110F XP-120F XP-130F XP-140

AMSTRAD CPC-464 CPC-6128 ATARI STF DAI Indata

Avatar de l’utilisateur
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2483
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: La suite des virgules

Message par C.Ret » 10 mai 2020 09:12

Concernant les "bifurcations" c'est assez simple car gégé a donné une consigne efficace, on prend la valeur la plus faible des sucesseurs possibles.

Par exemple, il y a une 'bifurcation' lorsque l'on arrive à 71 au début de la suite virgule engendrée par 2:

2,24,71,

Jusqu'à 71 tout ce passe bien:
  • à la première virgule 2,2~ forme 22 et on a bien 24 = 2 + 22
  • à la seconde virgule ~4,7~ forme 47 et on a bien 71 = 24 + 47
Mais au niveau de la virgule après 71 il y a deux possibilités soit 71,29 ou 71;30.
Les deux cas sont possibles
  1. 89 = 71 + 18 qui est correct car autour de la virgule on aura bien "1,8" qui forme dix huit.
  2. 90 = 71 + 19 qui est également correct car on aura bien ~1,9~ autour de la virgule
La régle énoncée par gégé nous indique de conserver 89 est de continuer la suite ainsi.

2,24,71,(90)89,181,180,192,214,256,319,413,...

Si l'on fait comme moi et que l'on conserve les deux successeurs possibles, on crée deux branches au niveau de 71 qui forme alors une 'bifurcation':

Code : Tout sélectionner

1 :           2                11:     413     360            21:     920     802
2 :          24                12:     447     363            22:     929     830
3 :          71                13:     522     396            23:    1020     838
4 :      89      90            14:     547     460            24:    1021     927
5 :     180      99            15:     623     464            25:    1032 *******
6 :     181     190            16:     659     509            26:    1053 *******
7 :     192     191            17:     756     605            27:    1084 *******
8 :     214     203            18:     824     661            28:    1125 *******
9 :     256     235            19:     872     677            29:    1176 *******
10:     319     287            20:     901     754            30:     ...     ...
Après la bifurcation les deux branches suivent leur propre vie tout naturellement comme toute bonne suite virgule.

Bon, il s'avère que la seconde branche issue de 71,90 s'éteint à 927 qui n'a pas de successeur. Cela aussi peut arriver dans la dure vie des suites virgules. C'est bien triste, un peu comme l'histoire de la suite virgule engendrée par 3.

En effet
  • 927 + 71 = 998 ne convient pas car ~7,9~ ne forme pas 71
  • 927 + 72 = 999 ne convient pas car ~7,9~ ne forme pas 72
  • 927 + 73 = 1000 ne convient pas car ~7,1~ ne forme pas 73
  • 927 + 74 = 1001 ne convient pas car ~7,1~ ne forme pas 74
  • 927 + 75 = 1002 ne convient pas car ~7,1~ ne forme pas 75
  • 927 + 76 = 1003 ne convient pas car ~7,1~ ne forme pas 76
  • 927 + 77 = 1004 ne convient pas car ~7,1~ ne forme pas 77
  • 927 + 78 = 1005 ne convient pas car ~7,1~ ne forme pas 78
  • 927 + 79 = 1006 ne convient pas car ~7,1~ ne forme pas 79

A moins de considérer que 927,1198 est correct car 1198 = 927 + 271 en considérant ~27,1~ qui est formé asymétriquement autour de la virgule et de façon complètement illégale puisqu'il nous est bien précisé que l'on doit prendre un et un seul chiffre de part et d'autre de la virgule.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803 + SD2iec. | TI-57 LCD | HP-28S + HP82240A | TI-74 BasiCalc | HP-41C + (2 memory + stat + IR) | HP-15C | HP Prime Color Touchscreen Graphing Calculator| TI-92 II | CASIO fx-602p + FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader . Sommaire des M.P.O..

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7180
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: La suite des virgules

Message par gege » 10 mai 2020 09:52

Bonjour,
C'est Dimanche aujourd'hui, le jour des réponses (surtout les vôtres) !
Alors vous avez trouvé la technique du balayage de 1 à 9, mais peut-on faire mieux ?
Quelle vitesse pour votre programme (disons jusqu'au 1000 ème ou 10000 ème terme) ?
Vous avez remarqué qu'un nombre peut ne pas avoir de successeur, la suite partant de 1 s'interrompt-elle ?
La réponse est bien sûr oui.
Mais quand ??? Eh oui c'est au-delà d'un* million de termes...
Et pourquoi je dis "bien sûr" ??
A quoi ressemblent les nombres qui n'ont pas de successeur ?
A bientôt...
G.E.

* en fait un peu plus de 2
Dernière édition par gege le 10 mai 2020 12:47, édité 1 fois.

Avatar de l’utilisateur
phm
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1368
Inscription : 08 avr. 2016 18:36
Localisation : Est Parisien

Re: La suite des virgules

Message par phm » 10 mai 2020 10:07

J’ai compris que le postulat proposé par gege partait de la suite qui commence par 1 avec la règle de prendre le choix le plus petit comme il l’a précisé par la suite.
Dans ce cas,
La première question est résolue.
La seconde question du 1000e terme est résolue (49609).
Pour la troisième question, je pense que la réponse est qu'il n'y a pas de fin (sauf si on prouve le contraire).

Peut être gege peut-il précisé son postulat si nécessaire ?
HEWLETT-PACKARD : The best
CANON
X-07 X-730 X-711 XR-100 XM-101 XP-110F XP-120F XP-130F XP-140

AMSTRAD CPC-464 CPC-6128 ATARI STF DAI Indata

Avatar de l’utilisateur
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 4847
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: La suite des virgules

Message par bernouilli92 » 10 mai 2020 10:19

Comme la suite partant de 1 ne s’arrête pas avant 1000, ensuite seuls comptent le premier chiffre et les 3 derniers étant donné qu’on ajoute un nombre inférieur ou égal à 99 et l’ajout de ce nombre doit modifier le premier chiffre. Cela implique que le nombre de départ est de la forme 999...99AB

Du coup, il suffit de tester les nombres de 9900 à 9999 avec n allant de 1 à 9.

Voici mon programme de test, il se base sur VNEXT qui donne le terme suivant d’un nombre :

Code : Tout sélectionner

« 
  9900 9999
  FOR I
    I VNEXT
    I →TAG
  NEXT 
  100 →LIST
»
Le résultat permet de conclure :
Les nombres qu’ont pas de successeurs sont de la forme 99..99AB avec AB qui est multiple de K.
Je ne donne pas encore la valeur de K.

Édit : la suite partant de 1 comprend 21...53 termes.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 4847
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: La suite des virgules

Message par bernouilli92 » 10 mai 2020 12:42

J’ai adapté mon programme de hp42s au hp19c, il a juste fallu remplacer un MOD par autre chose.
J’ai remplacé END par 0 et ERROR par -1.
Le programme fait 66 pas.
Pas évident de s’y retrouver avec la notation position des touches. C’est quand même plus agréable d’utiliser des mnémoniques.
Par contre c’est très lent, il faut environ 6 secondes par nombre.
Pièces jointes
AC60ADB0-4B3F-444A-82E6-FABF1FA80F4F.jpeg
AC60ADB0-4B3F-444A-82E6-FABF1FA80F4F.jpeg (117.91 Kio) Consulté 2814 fois
BE4ADE6E-1831-4E77-B779-FBBB85F66AF2.jpeg
BE4ADE6E-1831-4E77-B779-FBBB85F66AF2.jpeg (134.48 Kio) Consulté 2814 fois
Dernière édition par bernouilli92 le 10 mai 2020 12:49, édité 1 fois.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
gege
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 7180
Inscription : 31 janv. 2008 15:24
Localisation : Banlieue Paârisienne
Contact :

Re: La suite des virgules

Message par gege » 10 mai 2020 12:49

Bonjour,
Toujours aussi sexy cette machine !!
G.E.

Avatar de l’utilisateur
Danny
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 739
Inscription : 28 déc. 2013 17:34

Re: La suite des virgules

Message par Danny » 10 mai 2020 12:54

Sympa la 19C... je savais pas qu'on pouvait obtenir un tel affichage à l'écran :)
Casio fx-702P, 750P, 880p, 3900p, 7000G, 6000G, 6500G, 6800G, 8500G, 4500P, 9900GC, 9950GB +, Graph 100+ USB, Graph 90+E, fx-CP400
HP 35, 45, 65, 21, 25, 67, 33E, 41C, 41CV, 41CX, 15C, 20S, 42S, 28S, 32S, 32SII, 48SX, 48S, 48G, 48GX, 48G+, 50g, 35s, 39gII, Prime
Sharp PC-1245, 1500A, 1430, 1350, 1360, 1403, 1403H, 1262, EL-9000, PC-E500S | Psion Organiser II XP, Organiser II LZ 64 | Tandy PC-7

Avatar de l’utilisateur
bernouilli92
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 4847
Inscription : 21 nov. 2012 14:03
Localisation : Ile de France

Re: La suite des virgules

Message par bernouilli92 » 10 mai 2020 13:01

Quand un programme tourne, l’affichage affiche n’importe quoi et change très vite. C’est marrant à voir.
Pièces jointes
29DFAB8B-CD51-4FBF-885F-22C01D3E2B11.jpeg
29DFAB8B-CD51-4FBF-885F-22C01D3E2B11.jpeg (84.32 Kio) Consulté 2805 fois
F2B5E529-3731-41AF-B700-6D7540467089.jpeg
F2B5E529-3731-41AF-B700-6D7540467089.jpeg (90.81 Kio) Consulté 2805 fois
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
Danny
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 739
Inscription : 28 déc. 2013 17:34

Re: La suite des virgules

Message par Danny » 10 mai 2020 13:30

Ah oui ok, je pensais que c'était à l'arrêt :)
C'est comme sur les autres HP classiques du coup, mais comme ça défile vite j'ai jamais vu en mode arrêt sur image :)
Casio fx-702P, 750P, 880p, 3900p, 7000G, 6000G, 6500G, 6800G, 8500G, 4500P, 9900GC, 9950GB +, Graph 100+ USB, Graph 90+E, fx-CP400
HP 35, 45, 65, 21, 25, 67, 33E, 41C, 41CV, 41CX, 15C, 20S, 42S, 28S, 32S, 32SII, 48SX, 48S, 48G, 48GX, 48G+, 50g, 35s, 39gII, Prime
Sharp PC-1245, 1500A, 1430, 1350, 1360, 1403, 1403H, 1262, EL-9000, PC-E500S | Psion Organiser II XP, Organiser II LZ 64 | Tandy PC-7

Répondre

Revenir vers « Tous les Pockets »