有趣的数学
数学功能,公式和概念的实现
它为各种主题提供了数学实现,这些主题与数学事物有关,例如斐波那契,欧几里得,质数等。欢迎任何数学主题或概念。如果您喜欢数学,请使用您的算法和代码加入这里!
该存储库不强制使用特定的编程语言,但是如果您使用的是Python,则应使用Python 3.6进行贡献或运行。 (您将来使用唯一的python 3.6+)
解决方案可以通过三种方式实施:
- 根据定义解决方案,数学定义。很好的例子是斐波那契系列。但是根据斐波那契的定义,解决方案的性能最差
- 最佳解决方案比定义一个(或最佳解决方案)具有更好的性能。
- 创意解决方案。这可能不是最佳的,而是创造性或有趣的方式。
跑步
- Python
-
python3 -m doctest <path>/<script_name.py> -v
实施
- 腹肌
- 组合
- 分解
- 分化
- simple_numerical_differentiation.py
- 欧几里得
- 阶乘
- fortorial.py
- fortorial_recursion.py
- 斐波那契
- fibonacci.py
- fibonacci_optimal_memoization.py
- fibonacci_optimal_iteration.py
- GCD
- gcd.py
- gcd_optimal_euclidean.py
- 不可缺少的
- LCM
- lcm.py
- lcm_optimal_euclidean.py
- 矩阵
- 排列
- 主要的
- is_prime.py
- IS_PRIME_IMPREVED.PY
- is_prime_optimal.py
- next_prime.py
- sieve_of_eratosthenes.py
- Pythagorean_triple
- Square_root
- Trigonometric_functions
贡献
- 您可以为数学事物实施任何类型的算法。
- 如果添加了新型算法,请在readme中添加为新类别。
- 如果要添加现有解决方案的其他编程语言版本,则必须将源代码文件命名为“现有”文件。
- 最好在源代码文件的评论中提供算法的解释。
- 您可以使用您喜欢的任何编程语言,但应该照顾大量。而且,如果您想用Python贡献算法,则应使用Python 3.6+编写脚本。
- 您必须为每种算法编写测试代码。请参阅编写测试的示例(示例是用Python编写的)
- 不建议尽可能使用内置数学库。因为这个存储库鼓励我们自己实施数学事物。
- 最好也为每种算法提供最佳解决方案。
ChangElog
增强
固定的
- 不要在仅接受特定类型#3的功能上检查怪异的无效类型
- 删除对某些功能#2的划定类型检查
贡献者
- @Mingrammer
- @xaltonon
- @tsimpdim
执照