Détecteur de nombre premier
Bonsoir à tous :p
Je suis en train de faire un testeur de nombre premier sur python. Des idées pour améliorer sa précision ou autres ?
Je peux expliquer mon code aussi ;)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| Mode = input("Mode Manuel (M) / Mode Auto (A)")
if Mode == 'M' :
Sujet = int(input("Nombre entier a tester :"))
elif Mode == 'A' :
Sujet = 2**89 -1
else :
print("Rien compris !")
print("Nous testons :", str(Sujet), "\n")
Test = 1
Diviseur = 0
Quotient = 0.0
Trop = 2
Progression = int((Test/Sujet)*100)
PasFinie = 0
while Test <= Sujet:
while Diviseur < Trop :
Quotient = Sujet/Test
if Quotient > 1000000000000000 :
Entier = int(Quotient) -1
else :
Entier = int(Quotient)
if Quotient == Entier :
Diviseur += 1
Test += 1
Place = int((Test/Sujet)*100)
if Place != Progression :
Progression = Place
print(Progression, "%")
Testeur = Test /1000000
if Testeur == int(Testeur):
print("Nous testons :", str(Sujet))
print("On en est à :", Test)
print(Place, "%", "\n")
print("arret à :", Test)
if Test != Sujet +1 :
PasFinie = 1
Test = Sujet + 1
else :
PasFinie = 0
if Diviseur == 2 and PasFinie == 0:
print("OMG nombre Premier")
else :
print("Arf") |