TeoriaDeNumerosPy
TeoriaDeNumerosPy es un repositorio educativo que reúne teoremas y algoritmos fundamentales de la Teoría de Números, implementados en lenguaje Python.
El objetivo principal es ofrecer un entorno práctico para comprender los principios teóricos de la aritmética modular, la divisibilidad, la factorización y otras propiedades numéricas a través de la programación.
1. Descripción general
La teoría de números es una de las ramas más antiguas y fascinantes de las matemáticas, centrada en el estudio de las propiedades de los números enteros.
Este proyecto presenta implementaciones computacionales de teoremas clásicos y algoritmos que permiten comprobar y visualizar sus resultados mediante ejemplos prácticos.
Cada archivo en el repositorio contiene código limpio, comentado y orientado al aprendizaje, ideal para estudiantes, docentes o entusiastas de las matemáticas que deseen explorar la conexión entre la teoría y la programación.
2. Objetivos del proyecto
- Reunir los principales teoremas y algoritmos de la teoría de números en Python.
- Servir como herramienta educativa para el análisis y la demostración de propiedades numéricas.
- Promover el uso de la programación como apoyo al razonamiento matemático.
- Facilitar la experimentación con ejemplos reales y comprobaciones automáticas.
3. Estructura del repositorio
TeoriaDeNumerosPy/
│
├── README.md
├── LICENSE
│
├── algoritmos_basicos/
│ ├── mcd_euclides.py
│ ├── mcm_calculo.py
│ └── euclides_extendido.py
│
├── propiedades_numeros/
│ ├── primalidad_basica.py
│ ├── factorizacion_primos.py
│ ├── teorema_fermat.py
│ └── teorema_euler.py
│
├── congruencias/
│ ├── inverso_modular.py
│ └── sistema_congruencias.py
│
└── ternas_y_secuencias/
├── ternas_pitagoricas.py
└── fibonacci_modular.py
Cada carpeta agrupa los programas por temática:
- algoritmos_basicos/: fundamentos como el algoritmo de Euclides y su versión extendida.
- propiedades_numeros/: primalidad, factorización, teoremas de Fermat y Euler.
- congruencias/: resolución de congruencias y el teorema chino del resto.
- ternas_y_secuencias/: generación de ternas pitagóricas y secuencias modulares.
4. Instalación y ejecución
Clonar el repositorio:
git clone https://github.com/tuusuario/TeoriaDeNumerosPy.git
Entrar a la carpeta principal:
cd TeoriaDeNumerosPy
Ejecutar cualquiera de los archivos:
python algoritmos_basicos/mcd_euclides.py
Requisitos:
- Python 3.8 o superior
- No requiere librerías externas
5. Ejemplos de uso
Ejemplo 1: Calcular el MCD entre 252 y 105
python algoritmos_basicos/mcd_euclides.py
Salida esperada:
Ingrese el primer número: 252
Ingrese el segundo número: 105
El MCD de 252 y 105 es: 21
Ejemplo 2: Verificar el teorema de Fermat
python propiedades_numeros/teorema_fermat.py
Salida esperada:
Ingrese a: 3
Ingrese p (primo): 7
¿Cumple el pequeño teorema de Fermat?: True
6. Aplicaciones y alcance
Este repositorio puede emplearse en:
- Cursos de Matemáticas Discretas o Teoría de Números.
- Talleres de Algoritmos y Criptografía básica.
- Investigación o docencia en educación matemática.
- Autoaprendizaje en programación matemática y modularidad.
7. Referencias teóricas
- Burton, D. M. (2010). Elementary Number Theory. McGraw-Hill Education.
- Rosen, K. H. (2018). Elementary Number Theory and Its Applications. Pearson.
- Jones, G. A., & Jones, J. M. (1998). Elementary Number Theory. Springer.
- Niven, I., Zuckerman, H. S., & Montgomery, H. L. (1991). An Introduction to the Theory of Numbers. Wiley.
- Euler, L. (1748). Introductio in Analysin Infinitorum.
- Fermat, P. de (1640). Observaciones sobre los números y sus potencias.
Estas referencias constituyen la base teórica de los algoritmos implementados y se recomiendan como material complementario para ampliar los conceptos matemáticos tratados en el repositorio.
8. Autor y créditos
Autor: Wilfredo Calderón Pérez
Ubicación: Colombia
Correo: wilfredocalderonperez@gmail.com
Elaborado con fines educativos para la enseñanza y aplicación de la Teoría de Números en entornos computacionales.
9. Licencia
Este proyecto se distribuye bajo la Licencia MIT.
Se permite su uso, copia y modificación siempre que se mantengan los créditos correspondientes al autor original.