Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import*
- from threading import*
- def input_steps():
- try:
- n=int(input("Calculer les nombres premiers de 1 a:"))
- if n<=2:
- n=3
- return n
- except:
- return input_steps()
- def is_not_prime(a,liste):
- nb_div=1
- if (a-1)%6==0 or (a+1)%6==0:
- nb_div=0
- for nb in liste:
- if nb<=sqrt(a):
- nb_test=a
- while (nb_test%nb)==0:
- nb_div+=1
- nb_test=(nb_test//nb)
- else:
- break
- return nb_div
- def get_numbers(fin):
- k=3
- liste=[2,3,5]
- while k<fin:
- k+=4
- th1=Thread(target=is_not_prime(k,liste))
- th2=Thread(target=is_not_prime(k+2,liste))
- test_k1=th1.start()
- test_k2=th2.start()
- th1.join()
- th2.join()
- if test_k1==0:
- print(k)
- liste.append(k)
- if test_k2==0:
- print(k+2)
- liste.append(k+2)
- return liste
- limit=input_steps()
- print("Nombres premiers jusqu'a {}:".format(limit))
- print("2\n3\n5")
- numbers=get_numbers(limit)
- index_n=numbers.index(numbers[-1])
- print(">>>{} Valeurs trouvées".format(index_n+1))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement