Веселая математика
Реализации математических функций, формул и концепции
Он предоставляет математические реализации для различных тем, которые связаны с математическими вещами, такими как Фибоначчи, Евклидовы, Прайс -Числа и так далее. Любые математические темы или концепции приветствуются. Если вы любите математику, присоединяйтесь к своим алгоритмам и кодам!
Этот репозиторий не заставляет использовать конкретные языки программирования, но если вы используете Python, вы должны использовать Python 3.6 для внесения или для запуска. (Вы используете единственный Python 3.6+ в будущем)
Решение может быть реализовано тремя способами:
- По определению решение, математическое определение. Хороший пример - серия Фибоначчи. Но решение по определению Фибоначчи имеет худшую производительность
- Оптимальное решение, которое имеет лучшую производительность, чем по определению одно (или лучшее решение).
- Творческое решение. Это может быть не оптимально, но творческий или забавный способ.
Бегать
- Питон
-
python3 -m doctest <path>/<script_name.py> -v
Реализации
- АБС
- Комбинации
- разложение
- дифференциация
- simple_numerical_differentiation.py
- Евклидовый
- факториал
- Фактор.py
- factorial_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
- матрица
- умножение
- Multiplication_optimal
- перестановки
- основной
- is_prime.py
- is_prime_improved.py
- is_prime_optimal.py
- Next_prime.py
- sief_of_eratosthenes.py
- pythagorean_triple
- square_root
- trigonytric_functions
Вклад
- Вы можете реализовать любые алгоритмы для математических вещей.
- Если вы добавите новый вид алгоритмов, также добавьте это в ReadMe в качестве новой категории.
- Если вы хотите добавить другую версию существующих решений языка программирования, вы должны назвать файл исходного кода как то же самое для существующего.
- Лучше предоставить объяснения ваших алгоритмов в комментариях файлов исходного кода.
- Вы можете использовать любые языки программирования, которые вы предпочитаете, но вы должны позаботиться об обращении с большими количествами. И если вы хотите внести алгоритмы с помощью Python, вам следует написать сценарии с помощью Python 3.6+.
- Вы должны написать тестовые коды для каждого алгоритма. См. Пример написания тестов (пример написан на Python)
- Не рекомендуется использовать встроенные математические библиотеки, насколько это возможно. Потому что этот репозиторий поощряет это реализует математические вещи сами.
- Лучше предоставить оптимальные решения для каждого алгоритма.
Изменение
Улучшение
- Свяжите Travis CI, чтобы запустить тесты, когда Commits #4
Зафиксированный
- Не проверяйте странный недопустимый тип на функциях, которые принимают только конкретные типы #3
- Удалите проверку типа с полосой на некоторых функциях #2
Участники
- @mingrammer
- @Xaltonon
- @Tsimpdim
Лицензия