Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- n = int(input("inserisci n: "))
- phiUno = int(input("primo phi: "))
- phiDue = int(input("secondo phi: "))
- phiTre = int(input("terzo phi: "))
- phiQuattro = int(input("quarto phi: "))
- phiCinque = int(input("quinto phi: "))
- def coprime(a, b):
- return math.gcd(a, b) == 1
- #-----------------TROVA UN COPRIMO DI N------------------------
- #trova il più piccolo coprimo di n
- for x in range(3, n):
- if coprime(n , x) == True:
- a = x
- break
- #-----------------TENTATIVO DI FATTORIZAZIONE CON IL PRIMO NUMERO-------------------------
- #questo ciclo prova le t
- for k in range(3, phiUno , 2):
- #questo ciclo prova le k
- for j in range (1, phiUno):
- if pow(2 , j) * k == phiUno:
- t = k
- s = j
- for i in range (1, s+1):
- condOne = pow(a , pow(2, i - 1) * t , n)
- condTwo = pow(a , pow (2 , i) * t , n)
- if condOne != 1 and condOne != n - 1 and condTwo == 1:
- print(math.gcd(pow( a , pow(2 , i - 1) * t , n )))
- break
- else:
- print("Niente")
Advertisement
Add Comment
Please, Sign In to add comment