La Question du Dimanche IV

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

Répondre
Avatar de l’utilisateur
C.Ret
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1884
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

La Question du Dimanche IV

Message par C.Ret » 11 nov. 2018 15:11

Comme j'avais un peu de temps hier, j'ai testé le fonctionnement de mon Commodore C128D et installé une petite télé THOMSON pour lui servir d'écran 40 col. tout en profitant simultanément de l'affichage 80 col. sur mon moniteur original.

Tout va bien, il fonctionne toujours aussi bien et j'ai pu le faire fonctionner en profitant des deux affichages, ce qui est une vraie révolution :
En 30 ans c'est la première fois que je n'ai pas à appuyer sur la touche du moniteur pour swapper entre les deux écrans !


Ce qui m'amène à la question de ce dimanche, jour de mémoire doublement férié


A quoi correspond cette capture d'écran (graphique) ?
Question Dimanche IV (reduit).gif
Question Dimanche IV (reduit).gif (54.48 Kio) Consulté 668 fois

Cette question en amènera certainement d'autres et je ne fournirai la réponse qu'à partir de la fin de semaine prochaine.
Ou bien plus tard, si aucune de vos propositions ne s'avère exacte.
Par contre, quelques indices pourraient être diffusé d'ici là en réponse à d'éventuelle sollicitations.
Dernière édition par C.Ret le 11 nov. 2018 15:39, édité 1 fois.
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

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

Re: La Question du Dimanche IV

Message par bernouilli92 » 11 nov. 2018 15:25

Un représentation des nombres premiers affichés en spirale en partant du milieu.
HP, Casio, Sharp, Psion, quelques TI et divers autres

Avatar de l’utilisateur
Gege34
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 657
Inscription : 03 oct. 2014 11:19
Localisation : 31

Re: La Question du Dimanche IV

Message par Gege34 » 11 nov. 2018 16:28

Un jeu de la vie
Du Commodore (64/128/Amiga), De la HP (28/41/48/50/71) et quelques autres trucs (Ti, Canon X07, Psion, Casio, Palm)

Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4244
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: La Question du Dimanche IV

Message par Marge » 11 nov. 2018 21:14

bernouilli92 a écrit :
11 nov. 2018 15:25
Un représentation des nombres premiers affichés en spirale en partant du milieu.
Oui, je dirais la même chose, la "spirale" de Ulam (orthographe approximative).

Mais enfin, ça pourrait être autre chose, venant de toi... :wink:

C'est une vue inspirante en tout cas.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Avatar de l’utilisateur
babaorhum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 439
Inscription : 13 janv. 2013 20:44
Localisation : Toulon-ouest

Re: La Question du Dimanche IV

Message par babaorhum » 13 nov. 2018 00:03

Hello,

C'est avant ou après le passage en vitesse lumière ?

8O
BaBaoRhum
HP J728,200LX,1000CX,75C,71B, 48GX,42s,41CX,35s,32E,32Sii,28S,22s,21,16C,11C,12Cp
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,850P,3900P,4000P
TI-74&92 ; Canon X-07 ; Panasonic HHC RL-H1400 ; TANDY EC-4026

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

Re: La Question du Dimanche IV

Message par C.Ret » 13 nov. 2018 09:14

Ah! Ah!

Je vois que certains ont déjà trouvé.

D'autres sont encore à des années lumière.
C64_Organism.png
C64_Organism.png (28.14 Kio) Consulté 553 fois
Remarquons que cela n'est pas un problème, le mode C64 de mon appareil me permet d'explorer un univers infini de possibilités.

En guise d'aide, je voulais donner le code qui génère cet écran:

Code : Tout sélectionner

list

10 color 0,rclr(5):color 1,rclr(6):color 4,rclr(0):graphic 1,1:dim h(56),x%(3),y%(3)
20 h(1)=257:x%(0)=1:y%(1)=-1:x%(2)=-1:y%(3)=1:e=2^-7:n=1:x%=100:y%=x%
30 do until y%<0:if p% then draw 1,1.6*x%,y%:if k%<56 then k%=k%+1:h(k%)=n*(n+.001)
40 n=n+1:p%=1:s%=s%+1:x%=x%+x%(d%):y%=y%+y%(d%):if s%>l% then s%=0:l%=l%+(d%and1):d%=(d%+1)and3
50 do while int(h(1))<=n:p%=0:i=1:h=h(1)+int(1e3*(h(1)-int(h(1)))+e)
60 do:h(i)=h:i=i+i:if i>k% then exit:else if i<k% then if h(i+1)<h(i) then i=i+1
70 if h(i)<h then h(i/2)=h(i): else exit
80 loop:loop:loop:end

ready.

Mais je ne suis pas sûr que cela soit d'un grand secours !
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

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

Re: La Question du Dimanche IV

Message par C.Ret » 14 nov. 2018 23:41

Comme je trouvais le code-ci dessus peu visible, je vous ai préparé une version colorée et commentée.
ULAM C128D (color).png
ULAM C128D (color).png (79.91 Kio) Consulté 509 fois


Il s'agit donc bien d'une spirale d'Ulam.
Elle est identique à celle illustrant l'article sur Wikipédia :


Image

Il y a d'autres "spirales" que je trouve très bien. En particulier celle avec le nombre de diviseurs. mais je ne sais pas comment la représenter correctement avec un CBM.


Par ailleurs, il m'a fallu plus de 6 heures pour l'obtenir. La question qui en découle est, y -t- il un algorithme plus efficace ?
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

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

Re: La Question du Dimanche IV

Message par bernouilli92 » 14 nov. 2018 23:52

Je ne sais pas trop comment tu as fait pour dessiner ta spirale.
Mais si tu testes les nombres un à un pour déterminer s’ils sont premiers ou pas, tu irais certainement plus vite en programmant un crible de Eratosthene.
Dernière édition par bernouilli92 le 15 nov. 2018 12:56, édité 1 fois.
HP, Casio, Sharp, Psion, quelques TI et divers autres

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

Re: La Question du Dimanche IV

Message par C.Ret » 15 nov. 2018 11:11

C'est effectivement l'idée, utiliser un crible pour profiter pleinement de l'énumération et déterminer les nombres premiers au fur et à mesure de la progression.

Je n'ai pas utilisé un crible d'Eratosthène, mais quelque chose de très semblable, un crible de Sudaram comme je l'ai fait pour imprimer comme Jürgen Keller.

A la différence qu'ici je parcours les nombres un par un pour dessiner en même temps la "spirale".

Le crible de Sudaram est donc un peu modifié car je considère tous les multiples de chaque facteur au lieu d'un multiple sur deux (astuce qui permet de ne parcourir que les nombres impairs).
Mais le principe reste le même, au fur et à mesure de l'avancement, chaque nombre premier p devient le facteur générateur d'une suite de multiples commençant à :

Code : Tout sélectionner

p :	p²   p+p²	2p+p²	3p+p²	4p+p²	...

2:	4	6	8	10	12	...
3:	9	12	15	18	21	...
5:	25	30	35	40	45	...
...		
Comme on parcourt dans l'ordre, rien ne sert de mémoriser tous les multiples, simplement le prochain pour chaque facteur.
C'est là qu'intervient le min-Heap qui permet en un minimum d'efforts de toujours pointer sur le plus petit des multiples tous facteurs confondus.

C'est à cela que sert le tableau R() dans lequel est organisé le min-Heap sous forme d'un tas binaire. La partie fractionnaire des nombres permet de mémoriser le facteur correspondant.

Par exemple, si on regarde le contenu de la mémoire lorsque n atteint 19 on a :

Code : Tout sélectionner

n=19

R(1..7)=         ┌───────────20.002──────────┐
          ┌────21.003───┐             ┌────25.005───┐
        49.007       121.011       169.013       289.017
  
R(8)=361.019

Comme 19 est inférieur à 20, 19 est premier et une nouvelle chaine de multiple est initiée en ajoutant 361.019 en R(8), fin du tableau. qui est alors prêt pour la valeur suivante n=20. 20 est composé car égal à INT R(1). La racine du tableau est alors incrémentée de 2 et descendue (PUSH DOWN) ce qui fait remonté le multiple attendu suivant. (21 issue du facteur 3).

Code : Tout sélectionner

n=20
R(1..8)=         ┌───────────21.003──────────┐
          ┌────22.002───┐             ┌────25.005───┐
   ┌────49.007       121.011       169.013       289.017
361.019        
Qui est composée

Pour aller jusqu'à 40'000 (spirale de 200x200 pixels) il faut tenir compte d'une cinquantaine de facteurs premiers.


Quand à la spirale, elle est dessinée selon le schéma ci-dessous:
Spirale Ulam.png
Spirale Ulam.png (13.4 Kio) Consulté 435 fois
Pour chaque entier n, j'avance d'une case ma "tortue graphique" comme je le faisait en LOGO.
Au bout d'une certaine longueur, je tourne la tortue d'un quart de tour à gauche est je recommence sur une longueur que j'augmente d'une unité deux fois par révolution complète. C'est à dire une fois sur deux après un virage à gauche de façon à ne laisser aucune "case vide" entre les nombres
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

Ben
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 1075
Inscription : 21 août 2016 19:04

Re: La Question du Dimanche IV

Message par Ben » 22 nov. 2018 19:32

Je n'ai pas beaucoup de temps à consacrer à la programmation pour le moment, mais voici mon petit programme :-)

La spirale se dessine sur le 40col pendant qu'on voit la progression sur le 80col. Il y a encore pas mal de boulot pour optimiser un peu le tout!

Code : Tout sélectionner

10 graphic 1,1
20 x=0:y=0:q=1:a=1:b=0:p=1
30 gosub 150
40 for i=1 to q
50 x=x+a
60 gosub 150
70 next i
80 for i=1 to q
90 y=y+a
100 gosub 150
110 next i
120 q=q+1
130 a=a*-1
140 goto 40
150 b=b+1
160 print b;"=";x;y;
165 if b/2=int(b/2) then 230
170 for j=2 to sqr(b)
180 if b/j=int(b/j) then p=0
190 next j
200 if p=0 then 220
205 print "premier"
210 draw 1,x+160,y+100
220 p=1
230 return

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

Re: La Question du Dimanche IV

Message par C.Ret » 04 déc. 2018 15:11

Cela aurait pu faire l'objet dimanche soir d'une nouvelle question du dimanche. Mais comme il s'agit de la même spirale, je préfère poster dans ce même fil.

Il y d'autres alignements et diagonales sur ces spirale, je ne pensait pas pouvoir les tracer sur l'écran graphique de mon C128D. Surtout que l'instruction CIRCLE ne sait pas tracer des rayons autre qu'entier.

Je mets ici deux captures (obtenue sur émulateur car les image sont plus faciles à poster que des photos)
Question Dimanche IV (3).gif
Question Dimanche IV (3).gif (121.91 Kio) Consulté 207 fois
Question Dimanche IV (2).gif
Question Dimanche IV (2).gif (120.26 Kio) Consulté 207 fois

A vous de trouver quelle est la propriété représentée sur ces spirales !

(Question du dimanche postée un mardi - n'importe quoi ce forum ! )
SHARP PC-1211 + CE-121 + CE-122. | VIC 20 Commodore 128D + Printer P-803. | TI-57 LCD | TI-74 BasiCalc | TI-92 II | HP-28S + HP82240A | HP-41C + (2 memory + stat + IR) modules. | HP Prime Wireless Graphing Calculator |HP-15C | CASIO fx-602p + FA-1. .Sommaire des M.P.O.. . Sommaire du P.C.T.M. .

Avatar de l’utilisateur
Marge
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4244
Inscription : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: La Question du Dimanche IV

Message par Marge » 05 déc. 2018 02:02

Bonsoir,
Vraiment a priori, les amas lumineux ne pouvant représenter des entiers premiers consécutifs dans N, je suppose que tu as étudié, a maxima, les impairs.
Juste une piste...
3 hommes, 3 demis, un 3a... Magnéto, Serge !

« Boris », c'est juste Maurice enrhumé.

Répondre

Revenir vers « Tous les Pockets »