Lustige Mathematik
Implementierungen mathematischer Funktionen, Formeln und Konzepte
Es bietet die mathematischen Implementierungen für verschiedene Themen, die sich auf mathematische Dinge wie Fibonacci, Euclidan, Primzahlen usw. beziehen. Alle mathematischen Themen oder Konzepte sind willkommen. Wenn Sie die Mathematik lieben, besuchen Sie hier mit Ihren Algorithmen und Codes!
Dieses Repository erzwingt nicht für die Verwendung der spezifischen Programmiersprachen. Wenn Sie jedoch den Python verwenden, sollten Sie den Python 3.6 verwenden, um einen Beitrag zu leisten oder zu laufen. (Sie verwenden in Zukunft den einzigen Python 3.6+)
Eine Lösung kann auf drei Arten implementiert werden:
- Per Definitionslösung eine mathematische Definition. Gutes Beispiel ist die Fibonacci -Serie. Aber die Lösung nach Definition des Fibonacci hat die schlechteste Leistung
- Optimale Lösung, die eine bessere Leistung hat als per Definition (oder beste Lösung).
- Kreative Lösung. Dies ist vielleicht nicht optimal, sondern kreativ oder lustig.
Laufen
- Python
-
python3 -m doctest <path>/<script_name.py> -v
Implementierungen
- ABS
- Kombinationen
- Zersetzung
- Differenzierung
- Simple_numerical_differentiation.py
- euklidisch
- Fakultät
- 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
- Matrix
- Multiplikation
- multiplication_optimal
- Permutationen
- Prime
- is_prime.py
- is_prime_improved.py
- is_prime_optimal.py
- Next_prime.py
- SIEVE_OF_ERATOSThenes.py
- pythagorean_triple
- Square_root
- Trigonometrische_funktionen
Beitrag
- Sie können alle Arten von Algorithmen für mathematische Dinge implementieren.
- Wenn Sie eine neue Art von Algorithmen hinzufügen, fügen Sie dies bitte auch in Readme als neue Kategorie hinzu.
- Wenn Sie andere Programmiersprachenversion vorhandener Lösungen hinzufügen möchten, müssen Sie die Quellcode -Datei als gleiche für vorhanden benennen.
- Es ist besser, die Erklärungen Ihrer Algorithmen in Kommentaren von Quellcode -Dateien zu geben.
- Sie können alle Programmiersprachen verwenden, die Sie bevorzugen, sollten sich jedoch um die Umgang mit großen Zahlen kümmern. Und wenn Sie die Algorithmen mit Python beitragen möchten, sollten Sie die Skripte mit Python 3.6+ schreiben.
- Sie müssen die Testcodes für jeden Algorithmen schreiben. Siehe das Beispiel zum Schreiben der Tests (das Beispiel ist in Python geschrieben)
- Es wird nicht empfohlen, die integrierten mathematischen Bibliotheken wie möglich zu verwenden. Weil dieses Repository ermutigt, die mathematischen Dinge selbst implementieren.
- Es ist besser, die optimalen Lösungen für jeden Algorithmen zu liefern.
Changelog
Erweiterung
- Verknüpfen Sie den Travis CI, um die Tests durchzuführen, wenn sich #4 anpasst
Behoben
- Überprüfen Sie den seltsamen ungültigen Typ nicht bei Funktionen, die nur bestimmte Typen Nr. 3 akzeptieren
- Entfernen Sie die gestrichene Typ -Überprüfung einiger Funktionen #2
Mitwirkende
- @mingrammer
- @Xaltonon
- @Tsimpdim
Lizenz