Matemática divertida
Implementações de funções matemáticas, fórmulas e conceitos
Ele fornece as implementações matemáticas para vários tópicos relacionados a coisas matemáticas, como fibonacci, euclidiano, números primos e assim por diante. Quaisquer tópicos ou conceitos matemáticos são bem -vindos. Se você gosta das contas, junte -se aqui com seus algoritmos e códigos!
Esse repositório não força o uso das linguagens de programação específicas, mas se você estiver usando o Python, use o Python 3.6 para contribuir ou executar. (Você usará o único Python 3.6+ no futuro)
Uma solução pode ser implementada de três maneiras:
- Por solução de definição , uma definição matemática. O bom exemplo é a série Fibonacci. Mas a solução por definição do Fibonacci tem o pior desempenho
- Solução ideal que tem melhor desempenho do que pela definição um (ou melhor solução).
- Solução criativa . Isso pode não ser ideal, mas criativo ou engraçado.
Correr
- Python
-
python3 -m doctest <path>/<script_name.py> -v
Implementações
- Abs
- Combinações
- decomposição
- diferenciação
- Simple_numerical_differencie.py
- Euclidiano
- fatorial
- fatorial.py
- fatorial_recursion.py
- Fibonacci
- fibonacci.py
- fibonacci_optimal_memoization.py
- fibonacci_optimal_iteration.py
- GCD
- gcd.py
- gcd_optimal_euclidean.py
- integrante
- LCM
- lcm.py
- lcm_optimal_euclidean.py
- matriz
- multiplicação
- Multiplicação_Opt
- permutações
- melhor
- is_prime.py
- IS_PRIME_IMPROVED.PY
- IS_PRIME_OPTIMAL.PY
- next_prime.py
- sieve_of_eratóstenes.py
- pythagorean_triple
- Square_root
- trigonométrico_functions
Contribuição
- Você pode implementar qualquer tipo de algoritmos para coisas matemáticas.
- Se você adicionar novos tipos de algoritmos, adicione também no ReadMe como uma nova categoria.
- Se você deseja adicionar outra versão da linguagem de programação das soluções existentes, você deve nomear o arquivo de código -fonte como o existente.
- É melhor fornecer as explicações de seus algoritmos nos comentários dos arquivos de código -fonte.
- Você pode usar qualquer linguagem de programação que preferir, mas deve cuidar de lidar com grandes números. E se você deseja contribuir com os algoritmos com o Python, escreva os scripts com o Python 3.6+.
- Você deve escrever os códigos de teste para cada algoritmos. Veja o exemplo para escrever os testes (o exemplo é escrito em Python)
- Não é recomendável usar as bibliotecas de matemática construídas. Porque esse repositório incentiva que implementa as coisas matemáticas por nós mesmos.
- É melhor fornecer as soluções ótimas e também para cada algoritmos.
Changelog
Aprimoramento
- Ligue o Travis CI para executar os testes quando se compromete nº 4
Fixo
- Não verifique o tipo inválido estranho em funções que aceitam apenas tipos específicos #3
- Remova a verificação do tipo estrito em algumas funções #2
Colaboradores
- @mingRammer
- @Xaltonon
- @TSIMPDIM
Licença