MAT281 - Laboratorio N°01¶
Problema 01¶
En los siglos XVII y XVIII, James Gregory y Gottfried Leibniz descubrieron una serie infinita que sirve para calcular $\pi$:
$$\displaystyle \pi = 4 \sum_{k=1}^{\infty}\dfrac{(-1)^{k+1}}{2k-1} = 4(1-\dfrac{1}{3}+\dfrac{1}{5}-\dfrac{1}{7} + ...) $$
Desarolle un programa para estimar el valor de $\pi$ ocupando el método de Leibniz, donde la entrada del programa debe ser un número entero $n$ que indique cuántos términos de la suma se utilizará.
- Ejemplo:
- calcular_pi(3) = 3.466666666666667
- calcular_pi(1000) = 3.140592653839794
# FIXME
Problema 02¶
Euler realizó varios aportes en relación a $e$, pero no fue hasta 1748 cuando publicó su Introductio in analysin infinitorum que dio un tratamiento definitivo a las ideas sobre $e$. Allí mostró que:
En los siglos XVII y XVIII, James Gregory y Gottfried Leibniz descubrieron una serie infinita que sirve para calcular π:
$$\displaystyle e = \sum_{k=0}^{\infty}\dfrac{1}{k!} = 1+\dfrac{1}{2!}+\dfrac{1}{3!}+\dfrac{1}{4!} + ... $$
Desarolle un programa para estimar el valor de $e$ ocupando el método de Euler, donde la entrada del programa debe ser un número entero $n$ que indique cuántos términos de la suma se utilizará.
Para esto:
a) Defina la función
factorial
, donde la entrada sea un número natural $n$ y la salida sea el factorial de dicho número.- Ejemplo: factorial(3) =3, factorial(5) = 120
b) Ocupe la función
factorial
dentro de la funcióncalcular_e
.- Ejemplo: calcular_e(3) = 2.6666666666666665, calcular_e(1000) = 2.7182818284590455
# FIXME
Problema 03¶
Sea $\sigma(n)$ definido como la suma de los divisores propios de $n$ (números menores que n que se dividen en $n$).
Los números amigos son enteros positivos $n_1$ y $n_2$ tales que la suma de los divisores propios de uno es igual al otro número y viceversa, es decir, $\sigma(n_1)=\sigma(n_2)$ y $\sigma(n_2)=\sigma(n_1)$.
Por ejemplo, los números 220 y 284 son números amigos.
- los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110; por lo tanto $\sigma(220) = 284$.
- los divisores propios de 284 son 1, 2, 4, 71 y 142; entonces $\sigma(284) = 220$.
Implemente una función llamada amigos
cuyo input sean dos números naturales $n_1$ y $n_2$, cuyo output sea verifique si los números son amigos o no.
Para esto:
a) Defina la función
divisores_propios
, donde la entrada sea un número natural $n$ y la salida sea una lista con los divisores propios de dicho número.- Ejemplo: divisores_propios(220) = [1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110], divisores_propios(284) = [1, 2, 4, 71 y 142]
b) Ocupe la función
divisores_propios
dentro de la funciónamigos
.- Ejemplo: amigos(220,284) = True, amigos(6,5) = False
# FIXME
Problema 04¶
La conjetura de Collatz, conocida también como conjetura $3n+1$ o conjetura de Ulam (entre otros nombres), fue enunciada por el matemático Lothar Collatz en 1937, y a la fecha no se ha resuelto.
Sea la siguiente operación, aplicable a cualquier número entero positivo:
- Si el número es par, se divide entre 2.
- Si el número es impar, se multiplica por 3 y se suma 1.
La conjetura dice que siempre alcanzaremos el 1 (y por tanto el ciclo 4, 2, 1) para cualquier número con el que comencemos.
Implemente una función llamada collatz
cuyo input sea un número natural positivo $N$ y como output devulva la secuencia de números hasta llegar a 1.
- Ejemplo: collatz(9) = [9, 28, 14, 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
# FIXME
Problema 05¶
La conjetura de Goldbach es uno de los problemas abiertos más antiguos en matemáticas. Concretamente, G.H. Hardy, en 1921, en su famoso discurso pronunciado en la Sociedad Matemática de Copenhague, comentó que probablemente la conjetura de Goldbach no es solo uno de los problemas no resueltos más difíciles de la teoría de números, sino de todas las matemáticas. Su enunciado es el siguiente:
Todo número par mayor que 2 puede escribirse como suma de dos números primos - Christian Goldbach (1742)
Implemente una función llamada goldbach
cuyo input sea un número natural positivo $n$ y como output devuelva la suma de dos primos ($n_1$ y $n_2$) tal que: $n_1+n_2=n$.
Para esto:
a) Defina la función
es_primo
, donde la entrada sea un número natural $n$ y la salida sea True si el número es primo y False en otro caso.- Ejemplo: es_primo(3) = True, es_primo(4) = False
b) Defina la función
lista_de_primos
, donde la entrada sea un número natural par $n$ mayor que dos y la salida sea una lista con todos los número primos entre 2 y $n$.- Ejemplo: lista_de_primos(4) = [2,3], lista_de_primos(6) = [2,3,5], lista_de_primos(8) = [2,3,5,7]
c) Ocupe la función
lista_de_primos
dentro de la funcióngoldbash
.Ejemplo: goldbash(4) = (2,2), goldbash(6) = (3,3) , goldbash(8) = (3,5)
# FIXME