Entrada destacada

Distancia media de dos puntos en un cuadrado unitario

lunes, 3 de abril de 2017

Solución al Problema 1

Nicolás Góngora Salazar estudiante de Ingeniería Mecánica de la Universidad Santo Tomás nos aporta la siguiente solución al problema 1, espero otras formas de solucionarlo.

Encontrar tres números naturales en progresión aritmética de dos tales que la suma de sus cuadrados sea un número de cuatro dígitos iguales.



Los números son 41, 43 y 45. La suma de sus cuadrados es 5555. A continuación pego el código utilizado en Mathematica. 

**** AQUÍ COMIENZA EL CÓDIGO ****
Nicolás Góngora Salazar
Problema 1.

Encontrar tres números naturales en progresión aritmética de dos, tales que la suma de sus cuadrados sea un número de cuatro dígitos iguales.

EsPar[n_] := If[Mod[n, 2] == 0, True, False]

Progresion[n_] := 
Module[(*Genera una progresión aritmética de 2 desde 0/1 hasta n*){Lista}, 
Lista = Table[i, {i, If[EsPar[n], 0, 1], n, 2}]; Return[Lista]]

Seleccionar[n_] := 
Module[(*Obtiene los últimos 3 de la progresión*){Lista, Tamaño, i, 
ListaUlt = {}}, Lista = Progresion[n]; Tamaño = Length[Lista]; Clear[i]; 
For[i = Tamaño - 2, i <= Tamaño, i++, 
ListaUlt = Append[ListaUlt, Lista[[i]]]]; Return[ListaUlt]]

Encontrar[] := 
Module[(*Obtiene una lista con aquellos tres números en progresión \
aritmética 2 cuya suma de cuadrados produce un número con dígitos \
iguales*){Lista, Suma, ListaDigitos, TamDigitos, n = 4, Bandera = True, 
BanderaB, i}, 
While[Bandera, Lista = Seleccionar[n]; 
Suma = (Lista[[1]])^2 + (Lista[[2]])^2 + (Lista[[3]])^2; 
ListaDigitos = IntegerDigits[Suma]; TamDigitos = Length[ListaDigitos]; 
Clear[i]; BanderaB = True; 
For[i = 2, i <= TamDigitos, i++, 
If[ListaDigitos[[i]] != ListaDigitos[[i - 1]], BanderaB = False]]; 
If[BanderaB == True, Bandera = False, n++]]; Return[{Suma, Lista}]]

Encontrar[]

{5555, {41, 43, 45}}

Los primeros tres números en progresión artimética de 2 cuya suma de cuadrados produce un número de cuatro dígitos iguales son: 41,43,45. La suma de sus cuadrados es 5555.
**** AQUÍ TERMINA EL CÓDIGO ****

No hay comentarios.:

Publicar un comentario