Je suis en train d'imprimer tous les nombres premiers dans une gamme de nombres donnés (bas et max, nombres donnés inclus).impression nombres premiers dans une gamme de nombres donnés
Par exemple:
num1 = 10, num2 = 20
>>> 11, 13, 17, 19
Mon code échoue à quelques reprises et je ne peux pas comprendre pourquoi:
num1 = int(input('First number is: '))
num2 = int(input('Second number is: '))
if num2 <= num1:
num1,num2 = num2,num1
for i in range(num1, num2+1):
for p in range(2,int(num2**0.5)+1):
if i%p == 0:
break
else:
print(i,' ',end = '')
print('\n')
Résultats:
1 à 7 >>> 1 3 5 7 (omet 2)
1 à 30 >>> 11 13 7 1 17 19 23 29 (omet 2,3,5)
1 >>> 60 à 11 13 7 1 17 19 23 29 (omet 2,3,5,7)
0 à 0 >>> 0 (0 gravures -> pas un nombre premier)
0 à 7 >>> 1 3 5 7 (omet 2)
Comment Je corrige ça? Merci beaucoup!
ps. le numéro 1 n'est pas un premier aussi.
Si num2
@ MarkTolonen, je cherchais ça. Merci pour le conseil, j'ai édité la question. –