Math
Use when: number theory, digit manipulation, geometry, probability, modular arithmetic.
Common Snippets
# GCD (Euclidean)
from math import gcd
gcd(a, b)
# LCM
lcm = a * b // gcd(a, b)
# Modular exponentiation (fast power)
pow(base, exp, mod) # Python built-in
# Check prime (trial division)
def is_prime(n):
if n < 2: return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0: return False
return True
# Sieve of Eratosthenes (all primes up to n)
def sieve(n):
is_prime = [True] * (n + 1)
is_prime[0] = is_prime[1] = False
for i in range(2, int(n**0.5) + 1):
if is_prime[i]:
for j in range(i*i, n+1, i):
is_prime[j] = False
return [i for i in range(n+1) if is_prime[i]]
# Digit manipulation
digits = []
while n > 0:
digits.append(n % 10)
n //= 10
digits.reverse()