수학

정수론

gcd / lcd

소수체크와 소인수분해

에라스토스테네스의 채 활용한 소수

거듭제곱 연산 (C++, Java 유저는 무적권 알아야함. 파이썬은 상관 x)

$a ^ {11} = a ^ 1 * a ^ 2 * a ^ 8$ 을 이용

def pow_adv(a, b, mod):
    ret = 1
    while b > 0:
      if b % 2: ret = ret*a%mod
      a, b = a*a%mod, b//2
    return ret

pow(a, b, 1000000007)

pow 가 압도적으로 빠름 !