-
power tower 를 오일러 정리 적용하여 계산하기.BOJ 2024. 10. 29. 21:39
오일러 정리는 a^phi(m) === 1 (mod m) // (gcd(a,m) = 1일때) .. 을 사용하여, a^(T mod phi(m)) mod m = a^T mod m 으로 나타낼 수 있는거에요. 그런데 오일러 정리는 (gcd(a,m) = 1일때)만 성립하기 때문에, 일반적인 상황에 적용시키기 어려워 보입니다.
https://stackoverflow.com/questions/21367824/how-to-evalute-an-exponential-tower-modulo-a-prime
How to evalute an exponential tower modulo a prime
I want to find a fast algorithm to evaluate an expression like the following, where P is prime. A ^ B ^ C ^ D ^ E mod P Example: (9 ^ (3 ^ (15 ^ (3 ^ 15)))) mod 65537 = 16134 The problem is the
stackoverflow.com
이 글을 보면 사이클 찾아서 뭐 일반화 시키는데 결과적으로는
a^(ϕ(m)+(Tmodϕ(m))) modm 이걸로 쓰면 된다는거임.. 지수에다가 피함수 한번 더 얹어주면 됩니다.
증명은 나중에 보자~
'BOJ' 카테고리의 다른 글
길이가 n^2 인 서로 다른 수의 수열에서 LIS or LDS 가 n+1 이지 않은 수열 구하기 (5) 2024.12.10 2024 ICPC Seoul Regional 후기 (0) 2024.11.27 Easy Problem (1) 2024.11.16 오일러 피(phi)함수를 거듭 연산했을 때 몇 번에 0이 되는가 ? (4) 2024.10.28 에라토스테네스의 체 구현 (2) 2024.07.23