欧拉计划启发的数论相关函数库。

eulerlib的Python项目详细描述


eulerlib是一个与休闲数学和数论相关的图书馆 受Project Euler启发的函数。可用功能包括:

  • 质数生成
  • 除数函数(西格玛函数)
  • 欧拉总函数
  • 使用euclid算法的最大公约数(gcd)
  • 最小公倍数(LCM)
  • 整数平方根
  • 斐波那契数
  • 泛数字
  • 回文数
  • 毕达哥拉斯三胞胎

此库中的函数可用于求解休闲数学和 规划问题,如欧拉工程问题。

安装

eulerlib可以通过python包索引(PyPI)使用 pip

>>> pip install --upgrade eulerlib

使用pip卸载。

>>> pip uninstall eulerlib

用法

在python控制台中,您可以根据需要从eulerlib导入函数/类。

>>> from eulerlib import primes
>>> p10 = primes(10)
>>> print(p10)
[2, 3, 5, 7]

divisors类实现与素数分解相关的函数, 西格玛函数等

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

示例:已解决Project Eulerproblem 3

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

请参阅完整的documentation

模块

prime_numbers.pyFunctions to generate lists of primes.
numtheory.py
  • Euler’s divisor functions (sigma funtions)
  • Euler’s totient function (phi function)
  • Prime factors of a number
  • Divisors of a number
  • Greatest Common Divisor (GCD)
  • Least Common Multiple (LCM)
  • Digital root and digital sum of a number
fibonacci.pyFunctions related to the Fibonacci sequence.
pythagoras.pyFunctions related to Pythagorean triples.
etc.py

Miscellaneous functions:

  • Pandigital numbers
  • Conversion from decimal to base n (2-36)
  • Number to lists and vice versa
  • Palindrome numbers

开发

源代码存储库(GitHubBitBucket)可用。 Bug reports和建议是最受欢迎的。

许可证

eulerlib是根据Apache License 2.0授权的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为textview创建选定状态(突出显示)   Java Hibernate计数行   Java语言中的字符串比较   java为什么SparkLauncher会立即返回而不会生成任何作业?   java layout_centerInParent在抛出回收视图后不工作   c#中的readInt16()与java中的readShort()   java如何在工具栏菜单中添加昼夜切换器   java在eclipse上向Tomcat提供<Realm/>信息   java使用给定的随机路径构造一个图   带有对象推送的java Morphia聚合阶段组   java关闭JTable实例   性能如何更好地转换java中的所有集合元素?   JAVA木卫一。IOException:通过Eclipse读取Java中的EOF Lucene   java如何在Android中将光标设置在tableLayout的行/列中所需的位置   使用HashMap的Set的java迭代器不会生成值/键吗?   java google guava cachebuilder在ExipeAfterAccess和expireActerWrite之间使用的时间更长   如何将这个排序映射方法从java转换为Kotlin   java如何从运行的JAR文件中读取war目录?   SpringBootJava。使用Java 9模块(JPM)时lang.NoSuchMethodError