Math

Back to Index

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()

Problems Using This Pattern