TP03
This commit is contained in:
39
TP03.py
Normal file
39
TP03.py
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
def est_premier(n: int) -> bool:
|
||||||
|
if n < 2:
|
||||||
|
return False
|
||||||
|
for i in range(2, int(n**0.5) + 1):
|
||||||
|
if n % i == 0:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
def nombres_premiers_jusqu_a(limite: int) -> list[int]:
|
||||||
|
premiers = []
|
||||||
|
for n in range(2, limite + 1):
|
||||||
|
if est_premier(n):
|
||||||
|
premiers.append(n)
|
||||||
|
return premiers
|
||||||
|
|
||||||
|
def main():
|
||||||
|
limite_input = input("Saisir la limite supérieure pour la recherche de nombres premiers (par défaut 1000) : ").strip()
|
||||||
|
if limite_input == '':
|
||||||
|
limite = 1000
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
limite = int(limite_input)
|
||||||
|
if limite < 2:
|
||||||
|
print("La limite doit être au moins 2. Utilisation de 1000.")
|
||||||
|
limite = 1000
|
||||||
|
except ValueError:
|
||||||
|
print("Entrée invalide. Utilisation de 1000.")
|
||||||
|
limite = 1000
|
||||||
|
premiers = nombres_premiers_jusqu_a(limite)
|
||||||
|
print(f"\nNombres premiers jusqu'à {limite} :")
|
||||||
|
print(premiers)
|
||||||
|
print(f"\nNombre total de nombres premiers : {len(premiers)}")
|
||||||
|
if len(premiers) >= 1000:
|
||||||
|
print(f"Le 1000ème nombre premier est : {premiers[999]}")
|
||||||
|
else:
|
||||||
|
print("La limite saisie ne permet pas d’atteindre le 1000ème nombre premier.")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
Reference in New Issue
Block a user