First commit
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from Cryptotools.Utils.utils import gcd
|
||||
|
||||
|
||||
def carmi_first_method(n) -> int:
|
||||
coprimes = list()
|
||||
for i in range(1, n):
|
||||
if gcd(i, n) == 1:
|
||||
coprimes.append(i)
|
||||
print(coprimes)
|
||||
smallest = list()
|
||||
for m in range(1, n):
|
||||
l = 0
|
||||
for a in coprimes:
|
||||
if a ** m % n == 1:
|
||||
l += 1
|
||||
if l == len(coprimes):
|
||||
smallest.append(m)
|
||||
|
||||
#print(smallest)
|
||||
return min(smallest)
|
||||
|
||||
print(f"lambda(12) = {carmi_first_method(12)}")
|
||||
print(f"lambda(19) = {carmi_first_method(19)}")
|
||||
#print(f"lambda(28) = {carmi_first_method(28)}")
|
||||
#print(f"lambda(32) = {carmi_first_method(32)}")
|
||||
#print(f"lambda(33) = {carmi_first_method(33)}")
|
||||
#print(f"lambda(35) = {carmi_first_method(35)}")
|
||||
#print(f"lambda(36) = {carmi_first_method(36)}")
|
||||
#print(f"lambda(135) = {carmi_first_method(135)}")
|
||||
#print(f"lambda(1200) = {carmi_first_method(1200)}")
|
||||
Reference in New Issue
Block a user