This repository began as a recreation of my old math projects on Scratch, along with other math-themed projects. Now, it has grown into an amalgamation of small projects that wouldn't quite fit anywhere else, or which don't deserve their own repository. Descriptions of these various projects are below, organized by programming language. This repository also documents my growth as a programmer as I learn new languages and techniques and put them to use for the first time.
The different languages require different setups, naturally. The Python files are all designed to work with any installation of Python 3.5 or later. The Code::Blocks IDE was used for the Fortran, D, C, and C++ files (with MinGW on Windows), so this should be a guaranteed working solution if everything else fails. Use Visual Studio for Visual Basic and C#, the most recent version of the JDK/JRE for the Java files, CLISP with the LispIDE for the Lisp files, SWI-Prolog for the Prolog files, and Strawberry Perl for the Perl files. This should all work fairly well without any difficulties. The languages not mentioned should not need any special setup procedures.
Minor Math Projects
- CES (Circle Equation Solver): Determines the equation of a circle through three points.
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
Minor Math Projects
- Base Converter: Converts an integer between two different bases.
- Circle Equation Solver: Determines the equation of a circle through three points.
- Coin Flipper: Simulates the repeated flipping of a coin.
- Coterminal Angles: Given an initial angle measurement, finds the coterminal angle closest to 0°.
- Factor Calculator 4: Lists all divisors of a given integer.
- Line Intercept Calculator: Finds the intersection point of two lines given in slope-intercept form or two-point form.
- Trigonometric Ratios: Given an angle in degrees or radians, computes its sine, cosine, tangent, cosecant, secant, and cotangent.
- LinkedList: Implements a basic linked-list structure and common operations.
Minor Math Projects
- Base Converter: Converts an integer between two different bases.
- Circle Equation Solver: Determines the equation of a circle through three points.
- Factor Calculator 4: Lists all divisors of a given integer.
Minor Math Projects
- BC (Base Converter): Converts an integer between two different bases.
- CA (Coterminal Angles): Given an initial angle measurement, finds the coterminal angle closest to 0°.
- CES (Circle Equation Solver): Determines the equation of a circle through three points.
- CoinFlipper: Simulates the repeated flipping of a coin.
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
- FC5 (Factor Calculator 5): Lists all divisors of a given integer, with an optimization for much larger inputs that have small prime factors.
- LIC (Line Intercept Calculator): Finds the intersection point of two lines given in slope-intercept form or two-point form.
- TR (Trigonometric Ratios): Given an angle in degrees or radians, computes its sine, cosine, tangent, cosecant, secant, and cotangent.
Minor Math Projects
- To be completed...
Minor Math Projects
- CoinFlipper: Simulates the repeated flipping of a coin.
- FactorCalculator4: Lists all divisors of a given integer.
Minor Math Projects
- CA (Coterminal Angles): Given an initial angle measurement, finds the coterminal angle closest to 0°.
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
- TR (Trigonometric Ratios): Given an angle in degrees or radians, computes its sine, cosine, tangent, cosecant, secant, and cotangent.
Minor Math Projects
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
- 99_Problems: Provides solutions to many of the ninety-nine problems in Haskell.
- Boggle (unfinished): Finds all possible words in a given Boggle board.
- eightQueens: Finds all solutions to the eight queens problem.
- Quicksort: Implements quicksort for a list of integers.
Minor Math Projects
- CES (Circle Equation Solver): Determines the equation of a circle through three points.
- Cardinality: Maps input integers to the even and odd numbers to illustrate that the cardinality of each set is the same as that of the integers.
- CoinFlipper: Simulates the repeated flipping of a coin.
- Euler / Euler160 / ProjEuler: Provides solutions to a handful of problems from the Project Euler website.
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
- FC5 (Factor Calculator 5): Lists all divisors of a given integer, with an optimization for much larger inputs that have small prime factors.
- Fibonacci: Computes the entries in the Fibonacci sequence.
- Pascal: Computes the entries in Pascal's triangle.
- SKI_Logic: Defines the basic combinators of SKI combinator calculus.
Minor Math Projects
- BC (Base Converter): Converts an integer between two different bases.
- CES (Circle Equation Solver): Determines the equation of a circle through three points.
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
Minor Math Projects
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
Minor Math Projects
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
Minor Math Projects
- ces (Circle Equation Solver): Determines the equation of a circle through three points.
- coterminal: Given an initial angle measurement, finds the coterminal angle closest to 0°.
- fc4 (Factor Calculator 4): Lists all divisors of a given integer.
- repCount: Counts the number of occurrences of a given element in a list.
- test: Experiments with small features of the Prolog language.
Minor Math Projects
- FC2 (Factor Calculator 2): Lists all divisors of a given integer, without the square-root optimization.
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
To be continued...
- Boggle: Finds all possible words in a given Boggle board.
- Blackjack: Plays a simple game of blackjack with human or computer players against the dealer.
- DealOrNoDeal: Simulates the game show Deal or No Deal for the purpose of testing different strategies.
- GUI Toolbox: Provides a visual interface for many of my common math mini-projects, accessed via
main.pyw
. - PartCompare: Uses Selenium to search UserBenchmark for computer part comparisons.
- Snake: Plays a basic version of the game Snake.
- SudokuSolverBacktracking: Uses backtracking to find a solution to a given Sudoku puzzle grid.
- TicTacToe: Plays a simple game of tic-tac-toe with human or computer players.
Minor Math Projects
- CircleEquationSolver: Determines the equation of a circle through three points.
- CoinFlipper: Simulates the repeated flipping of a coin.
- FC4-Recursion (Factor Calculator 4): Lists all divisors of a given integer.
- Fibonacci: Computes the entries in the Fibonacci sequence.
- InfiniteGeometricSum: Calculates the sum of an infinite geometric series.
- PolynomialFitter: Finds the minimal-degree polynomial function which passes through a set of points.
- RadicalSimplifier: Simplifies a radical expression by extracting perfect squares from the radicand.
- TowersOfHanoi: Finds a solution to the Towers of Hanoi puzzle.
Minor Math Projects
- FC4 (Factor Calculator 4): Lists all divisors of a given integer.
- FC5 (Factor Calculator 5): Lists all divisors of a given integer, with an optimization for much larger inputs that have small prime factors.
Minor Math Projects
- Base Converter: Converts an integer between two different bases.
- Circle Equation Solver: Determines the equation of a circle through three points.
- Coterminal Angles: Given an initial angle measurement, finds the coterminal angle closest to 0°.
- Factor Calculator 4: Lists all divisors of a given integer.
- Trigonometric Ratios: Given an angle in degrees or radians, computes its sine, cosine, tangent, cosecant, secant, and cotangent.