Un algoritmo se define como una lista de instrucciones finitas que toman datos de entrada y producen una solución de salida. A lo largo de la historia se han propuesto definiciones formales de algoritmos usando modelos matemáticos como el cálculo lambda de Church y la máquina de Turing de Alan Turing. Los algoritmos se usan comúnmente para resolver problemas en la vida cotidiana y en matemáticas a través de métodos como la multiplicación, división, algoritmo de Euclides y método de Gauss.