algorithm-in-python/math
2018-12-29 19:30:21 +08:00
..
numberTheory Add binaryheap, circularqueue, linkedlist, maxxor, union find set 2018-12-29 19:30:21 +08:00
numericalAnalysis Add binaryheap, circularqueue, linkedlist, maxxor, union find set 2018-12-29 19:30:21 +08:00
permute Add binaryheap, circularqueue, linkedlist, maxxor, union find set 2018-12-29 19:30:21 +08:00
convertWeight.py Add binaryheap, circularqueue, linkedlist, maxxor, union find set 2018-12-29 19:30:21 +08:00
fastPow.py Add binaryheap, circularqueue, linkedlist, maxxor, union find set 2018-12-29 19:30:21 +08:00
README.md Add number theory, string matching, dynamic programming codes 2018-12-16 17:09:54 +08:00

Number Theory

See more details on my blog

gcd.py

  • gcd(a,b)
  • xgcd(a,b): return gcd(a,b),x,y, where ax+by = gcd(a,b)

isPrime

  • isPrime(n): using Miller-Rabin primalrity test.
  • primeSieve

euler.py

  • phi(n): euler function
  • sigma(n): return the sum of all factors of n

factor.py

  • factor(n): return a list of numbers that are the factorization of n

modulo_equation.py

Solving modulo equations

solver  = solve()
res = solver.solveLinear(3,6,9)

res = solver.solveHigh(1,8,3,11)

res = solver.solveGroup([(5,11,2),(3,8,5),(4,1,7)])

Permutation