Article épinglé

samedi 19 septembre 2020

Visualisation de la densité des nombres premiers

Amélioration du script sur les nombres premiers, l'idée est de les visualiser par des points avec Turtle. Les points sont dessinés verticalement par tranche de 100.


En comptant bien les points de la première verticale de gauche on retrouve :
1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, ....

Script

from turtle import *

#quete des nombres premiers
borne =10000
premier=[1]
j=1
while j<=borne:
    nbre=j
    i=1
    list=[]

    while i<=nbre:
        if nbre%i ==0:
            
            list.append(i)
            i=i+1
        else:
            i=i+1
   
    if len(list)==2:
        premier.append(nbre)
    
    j=j+1
print (premier)

#dessin la nouveauté
x=0
xmax=max(premier)/100
ymax=100
setworldcoordinates(0, 0, xmax, ymax+10)
penup()
for i in range(len(premier)):
    if premier[i]>100*(x+1):
        x=x+1
        write(x*100)
    goto(x,premier[i]-100*x)
    #write(premier[i])
    dot()

Modification

Si vous affichez le second write (couleur orange dans le script) cela peut donner ça!

ici les nombres premiers jusqu'à 1000

Et après une sieste voila ce que cela donne si l'on pousse un peu plus loin en commentant les 2 write() car sinon c'est illisible. Et oui, des premiers, il y en a beaucoup parmi les impaires ;))))
C'est marrant quand même, je suis sûr qu'il faudrait creuser...


Aucun commentaire:

Enregistrer un commentaire

Tout commentaire nous engage ;)