Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def find_radical(n):
- p = []
- d = 2
- rad = 1
- while d * d <= n:
- cnt = 0
- while n % d == 0:
- cnt += 1
- n //= d
- if cnt != 0:
- rad *= d
- d += 1
- if n > 1:
- rad *= n
- return rad
- def pow(number, degree, modulo):
- if degree == 0:
- return 1
- elif degree % 2:
- return pow(number, degree - 1, modulo) * number % modulo
- return pow(number * number % modulo, degree // 2, modulo) % modulo
- number = int(input())
- radical = find_radical(number)
- for i in range(1, 30):
- x = i * radical
- if pow(x, x, number) == 0:
- print(i * radical)
- break
Advertisement
Add Comment
Please, Sign In to add comment