A library of number theory related functions inspired by Project Euler.
Functions from this library can be used to solve recreational mathematics and programming problems such as problems in Project Euler.
>>> pip install --upgrade eulerlib
To uninstall using pip.
>>> pip uninstall eulerlib
In Python console you can import functions/classes from eulerlib as needed.
>>> from eulerlib import primes >>> p10 = primes(10) >>> print(p10) [2, 3, 5, 7]
The Divisors class implements functions related to prime factorization, sigma functions etc.
>>> from eulerlib import Divisors >>> mydiv = Divisors(10000) >>> div84 = mydiv.divisors(84) #divisors of 84 >>> print(div84) [1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 84] >>> pf840 = mydiv.prime_factors(840) # prime factors of 840 >>> print(pf840) [(2, 3), (3, 1), (5, 1), (7, 1)]
from eulerlib import is_square, primes #get approximate square root of number since #largest prime factor < sq. root (is_sq, sqroot) = is_square(600851475143L) #get a list of primes less than the approx. square root. test_primes = primes(sqroot + 1L) #test the primes from the list to find the largest factor len_p = len(test_primes) for i in range(1,len_p+1): j = 0 - i test_fact = test_primes[j] if 600851475143L%test_fact == 0: break answer = test_fact #Set the answer
See complete documentation.
|prime_numbers.py||Functions to generate lists of primes.|
|fibonacci.py||Functions related to the Fibonacci sequence.|
|pythagoras.py||Functions related to Pythagorean triples.|
eulerlib is licensed under Apache License 2.0.