Matemáticas divertidas
Implementaciones de funciones matemáticas, fórmulas y conceptos
Proporciona las implementaciones matemáticas para varios temas relacionados con cosas matemáticas como Fibonacci, Euclidean, números primos, etc. Cualquier temas o conceptos matemáticos es bienvenido. Si te encantan las matemáticas, ¡únete a aquí con tus algoritmos y códigos!
Este repositorio no forja para usar los lenguajes de programación específicos, pero si está utilizando la Python, debe usar la Python 3.6 para contribuir o ejecutar. (Usará el único Python 3.6+ en el futuro)
Se puede implementar una solución de tres maneras:
- Por solución de definición , una definición matemática. El buen ejemplo es la serie Fibonacci. Pero la solución por definición del Fibonacci tiene el peor rendimiento
- Solución óptima que tiene un mejor rendimiento que, por definición, uno (o la mejor solución).
- Solución creativa . Esto puede no ser óptimo, pero creativo o divertido.
Correr
- Pitón
-
python3 -m doctest <path>/<script_name.py> -v
Implementación
- abdominales
- combinaciones
- descomposición
- diferenciación
- simple_numerical_diFferentiation.py
- euclidiano
- factorial
- factorial.py
- factorial_recursion.py
- fibonacci
- fibonacci.py
- fibonacci_optimal_memoization.py
- fibonacci_optimal_iteration.py
- gcd
- gcd.py
- gcd_optimal_euclidean.py
- integral
- LCM
- lcm.py
- lcm_optimal_euclidean.py
- matriz
- multiplicación
- multiplicación_optimal
- permutaciones
- principal
- is_prime.py
- is_prime_improved.py
- is_prime_optimal.py
- next_prime.py
- Sieve_of_eratosthenes.py
- pitágoran_triple
- square_root
- trigonométrico_functions
Contribución
- Puede implementar cualquier tipo de algoritmos para cosas matemáticas.
- Si agrega un nuevo tipo de algoritmos, también agregue eso en ReadMe como nueva categoría.
- Si desea agregar otra versión de lenguaje de programación de las soluciones existentes, debe nombrar el archivo del código fuente del mismo al existente.
- Es mejor proporcionar las explicaciones de sus algoritmos en los comentarios de los archivos del código fuente.
- Puede usar cualquier lenguaje de programación que prefiera, pero debe encargarse de manejar grandes números. Y si desea contribuir con los algoritmos con Python, debe escribir los scripts con Python 3.6+.
- Debe tener que escribir los códigos de prueba para cada algoritmos. Vea el ejemplo para escribir las pruebas (el ejemplo está escrito en Python)
- No se recomienda utilizar las bibliotecas de matemáticas Builtin como sea posible. Porque este repositorio fomenta eso implementando las cosas matemáticas por nosotros mismos.
- Es mejor proporcionar las soluciones óptimas también para cada algoritmos.
Colegio de cambios
Realce
- Enlace el Travis CI para ejecutar las pruebas cuando se compromete #4
Fijado
- No verifique el tipo extraño no válido en las funciones que aceptan solo tipos específicos #3
- Eliminar el tipo de verificación de tipo estricto en algunas funciones #2
Colaboradores
- @Mingrammer
- @Xaltonon
- @Tsimpdim
Licencia