āđāļāļĢāļ·āđāļāļāļāļģāļāļ§āļ GCD/LCM
āļāļģāļāļ§āļāļāļąāļ§āļŦāļēāļĢāļĢāđāļ§āļĄāļĄāļēāļ (GCD) āđāļĨāļ°āļāļąāļ§āļāļđāļāļĢāđāļ§āļĄāļāđāļāļĒ (LCM) āļāļāļāļāļąāļ§āđāļĨāļāļŠāļāļāļāļąāļ§āļāļķāđāļāđāļ
āļĢāļđāļāđāļāļāļāļēāļĢāļāđāļāļāļāđāļāļĄāļđāļĨ
- âĒ āļāļąāđāļāļāđāļ§āļĒāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāļļāļĨāļ āļēāļ: 12, 18, 24
- âĒ āļāļąāđāļāļāđāļ§āļĒāļāđāļāļāļ§āđāļēāļ: 12 18 24
- âĒ āļāļąāđāļāļāđāļ§āļĒāļāļĢāļĢāļāļąāļ: āļāđāļāļāđāļāđāļĨāļ°āļāļąāļ§āđāļĨāļāđāļāļāļĢāļĢāļāļąāļāđāļŦāļĄāđ
- âĒ āļāļāļļāļāļēāļāđāļāļāļēāļ°āļāļģāļāļ§āļāđāļāđāļĄāļāļ§āļāđāļāđāļēāļāļąāđāļ
āļāļąāļ§āļŦāļēāļĢāļĢāđāļ§āļĄāļĄāļēāļ (GCD)
āļāļąāļ§āđāļĨāļāļāļĩāđāđāļŦāļāđāļāļĩāđāļŠāļļāļāļāļĩāđāļŦāļēāļĢāļāļąāļ§āđāļĨāļāļāļąāđāļāļŠāļāļāļĨāļāļāļąāļ§
GCD(a, b) à LCM(a, b) = a à b
āļāļģāļāļ§āļāđāļāļĒāđāļāđāļāļąāđāļāļāļāļāļ§āļīāļāļĩāđāļāļāļĒāļļāļāļĨāļīāļ
āļāļąāļ§āļāļđāļāļĢāđāļ§āļĄāļāđāļāļĒ (LCM)
āļāļąāļ§āļāļđāļāļĢāđāļ§āļĄāļāļĩāđāđāļĨāđāļāļāļĩāđāļŠāļļāļāļāļāļāļāļąāļ§āđāļĨāļāļŠāļāļāļāļąāļ§
LCM(a, b) = (a à b) / GCD(a, b)
āđāļāđāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļ§āļāđāļĻāļĐāļŠāđāļ§āļ
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāđāļāđāđāļāļāļĩāļ§āļīāļāļāļĢāļīāļ
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāđāļāđ GCD
- âĒ āļāļēāļĢāļāļģāđāļŦāđāđāļĻāļĐāļŠāđāļ§āļāļāđāļēāļĒāļāļķāđāļ
- âĒ āļāļąāļāļŦāļēāļāļēāļĢāļāļąāļāđāļĢāļĩāļĒāļāļāļĢāļ°āđāļāļ·āđāļāļ
- âĒ āļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠāļĨāļąāļ
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāđāļāđ LCM
- âĒ āļāļēāļĢāļāļ§āļāđāļĻāļĐāļŠāđāļ§āļ
- âĒ āļāļąāļāļŦāļēāļ§āļąāļāļāļąāļāļĢ
- âĒ āļāļēāļĢāļāļąāļāļāļēāļĢāļēāļāđāļ§āļĨāļē
āļāļĢāļ°āļ§āļąāļāļīāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļāļĪāļĐāļāļĩāļāļģāļāļ§āļ
āļāļąāļ§āļŦāļēāļĢāļĢāđāļ§āļĄāļĄāļēāļāđāļĨāļ°āļāļąāļ§āļāļđāļāļĢāđāļ§āļĄāļāđāļāļĒāđāļāđāļāđāļāļ§āļāļīāļāļāļ·āđāļāļāļēāļāđāļāļāļĪāļĐāļāļĩāļāļģāļāļ§āļāļāļĩāđāđāļāđāļĢāļąāļāļāļēāļĢāļĻāļķāļāļĐāļēāļĄāļēāļāļąāđāļāđāļāđāļŠāļĄāļąāļĒāļāļĢāļĩāļāđāļāļĢāļēāļ āļāļ§āļāđāļāļēāđāļāđāļĢāļąāļāļāļēāļĢāļāļĨāđāļēāļ§āļāļķāļāļāļĒāđāļēāļāđāļāđāļāļĢāļ°āļāļāļāļĢāļąāđāļāđāļĢāļāđāļ 'Elements' āļāļāļ Euclid (āļāļĢāļ°āļĄāļēāļ 300 āļāļĩāļāđāļāļāļāļĢāļīāļŠāļāļāļēāļĨ) āđāļĨāļ°āļĒāļąāļāļāļāļĄāļĩāļāļāļāļēāļāļŠāļģāļāļąāļāđāļāļāļāļīāļāļĻāļēāļŠāļāļĢāđ āļ§āļīāļāļĒāļēāļāļēāļĢāļāļāļĄāļāļīāļ§āđāļāļāļĢāđ āļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠāļĨāļąāļ āđāļĨāļ°āļŠāļēāļāļēāļāļ·āđāļāđ āļāļĩāļāļĄāļēāļāļĄāļēāļĒāđāļāļāļąāļāļāļļāļāļąāļ
āļāļĨāļāļēāļāļāļāļāļāļąāļāļāļāļīāļāļĻāļēāļŠāļāļĢāđāđāļāļĢāļēāļ
- âĒ Euclid: āļāļąāļāļāļēāļāļąāđāļāļāļāļāļ§āļīāļāļĩāđāļāļāļĒāļļāļāļĨāļīāļ
- âĒ Diophantus: āļĻāļķāļāļĐāļē Diophantine equations
- âĒ Fermat: āļāļąāļāļāļēāļāļĪāļĐāļāļĩāļāļģāļāļ§āļāđāļāļāļēāļ°
- âĒ Gauss: āļŠāļĢāđāļēāļāļāļĪāļĐāļāļĩ congruence
- âĒ Euler: āļĻāļķāļāļĐāļēāļāļąāļāļāđāļāļąāļāļāļĪāļĐāļāļĩāļāļģāļāļ§āļ
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāđāļāđāļŠāļĄāļąāļĒāđāļŦāļĄāđ
- âĒ āļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠāļĨāļąāļ: āļāļąāļĨāļāļāļĢāļīāļāļķāļĄāļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠ RSA
- âĒ āļ§āļīāļāļĒāļēāļāļēāļĢāļāļāļĄāļāļīāļ§āđāļāļāļĢāđ: āļāļąāļāļāđāļāļąāļāđāļŪāļ, āļāļąāļ§āđāļĨāļāļŠāļļāđāļĄāđāļāļĩāļĒāļĄ
- âĒ āļāļĪāļĐāļāļĩāļāļāļāļĢāļĩ: āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļŪāļēāļĢāđāđāļĄāļāļĩāđāļĨāļ°āļāļąāļāļŦāļ§āļ°
- âĒ āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢāđ: āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāļŠāļąāļāļāļēāļ, āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāđāļāđāļāļāļēāļ
- âĒ āļāļĩāļ§āļ§āļīāļāļĒāļē: āļāļēāļĢāļ§āļīāđāļāļĢāļēāļ°āļŦāđāļĨāļģāļāļąāļāļĒāļĩāļ
āļŦāļĨāļąāļāļāļēāļĢāđāļĨāļ°āļāļēāļĢāļāļĒāļēāļĒāļāļāļāļāļąāđāļāļāļāļāļ§āļīāļāļĩāđāļāļāļĒāļļāļāļĨāļīāļ
āļāļąāđāļāļāļāļāļ§āļīāļāļĩāđāļāļāļĒāļļāļāļĨāļīāļāļāļ·āđāļāļāļēāļ
āļāļąāļĨāļāļāļĢāļīāļāļķāļĄāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāļāļąāļāļāđāļāļāļāļāļāđāļ§āļĨāļēāđāļāđāļ O(log min(a, b)) āļāļģāđāļŦāđāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļĄāļēāļ
āļāļąāđāļāļāļāļāļ§āļīāļāļĩāđāļāļāļĒāļļāļāļĨāļīāļāđāļāļīāđāļĄāđāļāļīāļĄ
āđāļāđāđāļāļ·āđāļāļŦāļēāļāļąāļ§āļāļāļāļąāļāđāļāļāđāļĄāļāļđāļĨāļēāļĢāđāđāļĨāļ°āđāļāđāļāļŠāđāļ§āļāļāļĢāļ°āļāļāļāļŦāļĨāļąāļāļāļāļāļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠ RSA
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāđāļāđāđāļāļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠāļĨāļąāļ
āļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠ RSA
āļāļēāļĢāļŠāļĢāđāļēāļāļāļĩāļĒāđ: āđāļĨāļ·āļāļāļāļģāļāļ§āļāđāļāļāļēāļ°āļāļāļēāļāđāļŦāļāđāļŠāļāļāļāļąāļ§ p, q
āđāļĄāļāļđāļĨāļąāļŠ: n = p à q
Euler's totient: Ï(n) = (p-1)(q-1)
āļāļĩāļĒāđāļŠāļēāļāļēāļĢāļāļ°: āđāļĨāļ·āļāļ e āļāļĩāđ gcd(e, Ï(n)) = 1
āļāļĩāļĒāđāļŠāđāļ§āļāļāļąāļ§: āļāļģāļāļ§āļ d āļāļĩāđ ed ⥠1 (mod Ï(n))
āļāļēāļĢāđāļĨāļāđāļāļĨāļĩāđāļĒāļāļāļĩāļĒāđ Diffie-Hellman
āļŦāļĨāļąāļāļāļēāļĢ: āđāļāđāļāļ§āļēāļĄāļĒāļēāļāļāļāļāļāļąāļāļŦāļēāļĨāļāļāļēāļĢāļīāļāļķāļĄāđāļāļāđāļĄāđāļāđāļāđāļāļ·āđāļāļ
āļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđāļŠāļēāļāļēāļĢāļāļ°: āļāļģāļāļ§āļāđāļāļāļēāļ° p āđāļĨāļ°āļāļąāļ§āļŠāļĢāđāļēāļ g
āļāļĩāļĒāđāļŠāđāļ§āļāļāļąāļ§: āđāļāđāļĨāļ°āļāđāļēāļĒāđāļĨāļ·āļāļāļāļąāļ§āđāļĨāļāļĨāļąāļ a, b
āļāļĩāļĒāđāļŠāļēāļāļēāļĢāļāļ°: āđāļĨāļāđāļāļĨāļĩāđāļĒāļ g^a mod p, g^b mod p
āļāļ§āļēāļĄāļĨāļąāļāļāļĩāđāđāļāđāļĢāđāļ§āļĄāļāļąāļ: āļāļģāļāļ§āļ g^(ab) mod p
āļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāđāļāđāđāļāļ§āļīāļāļĒāļēāļāļēāļĢāļāļāļĄāļāļīāļ§āđāļāļāļĢāđ
āļāļēāļĢāļāļāļāđāļāļāļāļąāļĨāļāļāļĢāļīāļāļķāļĄ
- âĒ āļāļēāļĢāļāļģāļŦāļāļāļāļāļēāļāļāļēāļĢāļēāļāđāļŪāļ
- âĒ āļāļąāļ§āļŠāļĢāđāļēāļāļāļąāļ§āđāļĨāļāļŠāļļāđāļĄāđāļāļĩāļĒāļĄ
- âĒ Cyclic Redundancy Check (CRC)
- âĒ āļāļąāļĨāļāļāļĢāļīāļāļķāļĄāđāļāļāđāļāđāļāđāļĨāļ°āļāļīāļāļīāļ
- âĒ āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāđāļāļāļēāļĄāļīāļ
āđāļāļĢāļāļŠāļĢāđāļēāļāļāđāļāļĄāļđāļĨ
- âĒ āļāļēāļĢāļāļāļāđāļāļāļāļąāļāļāđāļāļąāļāđāļŪāļ
- âĒ Bloom filters
- âĒ Skip lists
- âĒ āļāļēāļĢāļāļĢāļąāļāļŠāļĄāļāļļāļĨāļāđāļāđāļĄāđ
- âĒ āļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļāļ
āļāļēāļĢāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāļāļāļāļēāļ
- âĒ āļāļĨāļĒāļļāļāļāđāļāļēāļĢāđāļāđāļāļāļēāļ
- âĒ āļāđāļ§āļāđāļ§āļĨāļēāļāļēāļĢāļāļīāļāđāļāļĢāđāļāļāđ
- âĒ āļĢāļđāļāđāļāļāļāļēāļĢāđāļāđāļēāļāļķāļāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģ
- âĒ āļāļēāļĢāļāļĢāļąāļāļŠāļĄāļāļļāļĨāđāļŦāļĨāļ
- âĒ āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāđāļāļāļāļĢāļ°āļāļēāļĒ
āļāļēāļĢāđāļāđāļāļąāļāļŦāļēāđāļāļāļĩāļ§āļīāļāļāļĢāļīāļ
āļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļĢāļēāļāđāļ§āļĨāļē
āļāļēāļĢāļēāļāđāļ§āļĨāļēāļāļĩāđāđāļāļīāļāļāđāļģ: āļāļēāļĢāļŦāļēāļāđāļ§āļāđāļ§āļĨāļēāļāļĩāđāļāļąāļāļāđāļāļāļāļąāļāļāļāļāļŦāļĨāļēāļĒāļ§āļāļāļĢ
āļāļēāļĢāļāļģāļāļēāļāđāļāđāļāļāļ°: āļāļēāļĢāļāļāļāđāļāļāļāļēāļĢāļēāļāļāļēāļĢāļāļģāļāļēāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļĩāđāļŠāļļāļ
āđāļ§āļĨāļēāļāļĢāļ°āļāļļāļĄ: āļāļēāļĢāļŦāļēāđāļ§āļĨāļēāļāļĩāđāļāļđāđāđāļāđāļēāļĢāđāļ§āļĄāļāļļāļāļāļāļ§āđāļēāļ
āļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļēāļĢāļāļąāļāļŠāđāļ: āđāļŠāđāļāļāļēāļāļāļēāļĢāļāļąāļāļŠāđāļāļāļĩāđāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
āļāļēāļĢāļāļąāļāļŠāļĢāļĢāļāļĢāļąāļāļĒāļēāļāļĢ
āļāļąāļāļŦāļēāļāļēāļĢāļāļĢāļĢāļāļļ: āļāļēāļĢāļāļģāļāļ§āļāļŦāļāđāļ§āļĒāļāļĢāļĢāļāļļāļ āļąāļāļāđāļāļąāđāļāļāđāļģ
āļāļēāļĢāļāļąāļāļāļ·āđāļāļ§āļąāļŠāļāļļ: āļāļĢāļīāļĄāļēāļāļāļēāļĢāļāļ·āđāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļĩāđāļŠāļļāļ
āļāļēāļĢāļāļąāļāļāļāļāđāļāļĢāļ°āļāļāļāļāļĩāļĄ: āļāļēāļĢāđāļāđāļāļāļĩāļĄāļāļĩāđāđāļāđāļēāđāļāļĩāļĒāļĄāļāļąāļ
āļāļēāļĢāļāļąāļāļŠāļĢāļĢāļāļāļāļĢāļ°āļĄāļēāļ: āļāļēāļĢāļāļĢāļ°āļāļēāļĒāļāļĢāļąāļāļĒāļēāļāļĢāļāļēāļĄāļŠāļąāļāļŠāđāļ§āļ
āđāļāļ§āļāļīāļāļāļĪāļĐāļāļĩāļāļģāļāļ§āļāļāļąāđāļāļŠāļđāļ
āļāļąāļāļāđāļāļąāļāļāļĪāļĐāļāļĩāļāļģāļāļ§āļ
Euler's totient function Ï(n)
āļāļģāļāļ§āļāđāļāđāļĄāļāļ§āļ âĪ n āļāļĩāđāđāļāđāļāļāļģāļāļ§āļāđāļāļāļēāļ°āļŠāļąāļĄāļāļąāļāļāđāļāļąāļ n
MÃķbius function Ξ(n)
āļāļēāļĢāļāļĒāļēāļĒāļāļĪāļĐāļāļĩāļāļģāļāļ§āļāļāļāļāļŦāļĨāļąāļāļāļēāļĢāļĢāļ§āļĄ-āļāļēāļĢāđāļĒāļ
Divisor function d(n)
āļāļģāļāļ§āļāļāļąāļ§āļŦāļēāļĢāļāļ§āļāļāļāļ n
āļāļĨāļĢāļ§āļĄāļāļāļāļāļąāļāļāđāļāļąāļāļāļąāļ§āļŦāļēāļĢ Ï(n)
āļāļĨāļĢāļ§āļĄāļāļāļāļāļąāļ§āļŦāļēāļĢāļāļ§āļāļāļąāđāļāļŦāļĄāļāļāļāļ n
āļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
āļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļąāļĨāļāļāļĢāļīāļāļķāļĄ
- âĒ āļāļąāļĨāļāļāļĢāļīāļāļķāļĄ GCD āđāļāļāđāļāļāļēāļĢāļĩ (āļāļąāļĨāļāļāļĢāļīāļāļķāļĄāļāļāļ Stein)
- âĒ āļāļēāļĢāļāļģāļāļ§āļ GCD āđāļāļāļāļāļēāļ
- âĒ āļāļēāļĢāļāļģāđāļāđāļāđāļāļĩāđāļĄāļĩāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļŠāļģāļŦāļĢāļąāļāļāļąāļ§āđāļĨāļāļāļāļēāļāđāļŦāļāđ
- âĒ āļāļēāļĢāđāļāđ Memoization
- âĒ āļāļēāļĢāđāļĢāđāļāļāļ§āļēāļĄāđāļĢāđāļ§āļŪāļēāļĢāđāļāđāļ§āļĢāđ (āļāļēāļĢāđāļāđ GPU)
āļāđāļāļāļ§āļĢāļāļīāļāļēāļĢāļāļēāđāļāļāļēāļāļāļāļīāļāļąāļāļī
- âĒ āļāļēāļĢāļāđāļāļāļāļąāļ Overflow
- âĒ āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļāļīāļāļāļĨāļēāļāļāļļāļāļĨāļāļĒāļāļąāļ§
- âĒ āļāļēāļĢāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļēāļĢāđāļāđāļŦāļāđāļ§āļĒāļāļ§āļēāļĄāļāļģ
- âĒ āļāļēāļĢāļāļģāđāļāđāļāđāļāļĩāđāđāļāđāļāļĄāļīāļāļĢāļāļąāļāđāļāļ
- âĒ āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļĒāļāđāļ§āđāļ
āļāļđāđāļĄāļ·āļāļāļēāļĢāļĻāļķāļāļĐāļēāļāļĪāļĐāļāļĩāļāļģāļāļ§āļ
- âĒ āļŠāļĢāđāļēāļāļĢāļēāļāļāļēāļ: āļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāđāļāļ§āļāļīāļāļāļ·āđāļāļāļēāļāļāļĒāđāļēāļāļĨāļ°āđāļāļĩāļĒāļ āđāļāđāļ āļāļģāļāļ§āļāđāļāļāļēāļ° āļāļģāļāļ§āļāļāļĢāļ°āļāļāļ āđāļĨāļ°āļāļēāļĢāđāļĒāļāļāļąāļ§āļāļĢāļ°āļāļāļāđāļāļāļēāļ°
- âĒ āļāļēāļĢāļāļģāļāļąāļĨāļāļāļĢāļīāļāļķāļĄāđāļāđāļāđ: āđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāļāļąāđāļāļāļāļāļ§āļīāļāļĩāđāļāļāļĒāļļāļāļĨāļīāļāļāđāļ§āļĒāļāļāđāļāļāđāļāļ·āđāļāļāļģāļāļ§āļēāļĄāđāļāđāļēāđāļāļŦāļĨāļąāļāļāļēāļĢāļāļģāļāļēāļ
- âĒ āļāļąāļāļŦāļēāļāļĢāļ°āļĒāļļāļāļāđ: āđāļāđ GCD/LCM āļāļąāļāļāļąāļāļŦāļēāļāļĢāļīāļāđāļāļ·āđāļāļāļąāļāļāļēāļāļąāļāļĐāļ°āļāļēāļĢāđāļāđāļāļąāļāļŦāļē
- âĒ āļāļēāļĢāļĻāļķāļāļĐāļēāļāļąāđāļāļŠāļđāļ: āļāļĒāļēāļĒāđāļāļŠāļđāđāļāļąāđāļāļāļāļāļ§āļīāļāļĩāđāļāļāļĒāļļāļāļĨāļīāļāđāļāļīāđāļĄāđāļāļīāļĄ, āļāļĪāļĐāļāļĩāļāļāđāļĻāļĐāđāļŦāļĨāļ·āļāļāļāļāļāļĩāļ āļŊāļĨāļŊ