initial commit
This commit is contained in:
36
python/prime/prime.py
Normal file
36
python/prime/prime.py
Normal file
@@ -0,0 +1,36 @@
|
||||
def factor_decomposition(n):
|
||||
p = 2
|
||||
dec = {}
|
||||
# print(n,"= ",end="")
|
||||
while n >= p * p:
|
||||
if n % p == 0:
|
||||
if p in dec:
|
||||
dec[p] += 1
|
||||
else:
|
||||
dec[p] = 1
|
||||
# print(p, "* ", end="")
|
||||
n /= p
|
||||
else:
|
||||
p += 1
|
||||
# print(n)
|
||||
if n in dec:
|
||||
dec[n] += 1
|
||||
else:
|
||||
dec[n] = 1
|
||||
return dec
|
||||
|
||||
|
||||
def phi(n):
|
||||
sol = 1
|
||||
dec = factor_decomposition(n)
|
||||
for (p, a) in dec.items():
|
||||
sol *= (p**(a-1))*(p-1)
|
||||
return sol
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(factor_decomposition(85))
|
||||
print(factor_decomposition(1200))
|
||||
print(factor_decomposition(11011))
|
||||
print(phi(9))
|
||||
print(phi(85))
|
||||
Reference in New Issue
Block a user