En este tipo de entradas quiero plantear problemas para que mis lectores propongan soluciones utilizando Mathematica. Buena suerte y animo. Las soluciones anéxenlas como comentarios.
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.
Saludos.
ResponderBorrarLos 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 ****
Muy bien Nicolás, la publicaré como una entrada y pronto publicaré otro desafío.
Borrar