Se desarrollan temas de matemáticas con el uso del software Wolfram Mathematica. . germanalvarado@usta.edu.co
martes, 20 de septiembre de 2016
Constante de Kaprekar para números de 2,5 y 6 dígitos
Continuando con la entrada del 12 de septiembre, ahora analizaremos como se comporta el proceso de Kaprekar para números de 2, 5 y 6 dígitos.
Vamos a ver que para este número de dígitos el proceso de Kaprekar puede converger a un número en algunos casos y en otros a un bucle (secuencia de números cíclica).
En Mathematica
Generamos nuevamente una función kaprekar[len, num] que realiza el proceso de Kaprekar : donde la variable len nos indica el número de cifras del número y num corresponde al número que le aplicamos el proceso de Kaprekar.
kaprekar[len_Integer, num_Integer] :=
Module[{lis}, lis = IntegerDigits[num, 10, len];
FromDigits@Sort[lis, Greater] - FromDigits@Sort[lis]]
Números de dos cifras
Realicemos el procedimiento con dos ejemplos: 12 y 13
NestList[kaprekar[2, #] &, 12, 20]
{12, 9, 81, 63, 27, 45, 9, 81, 63, 27, 45, 9, 81, 63, 27, 45, 9, 81, 63, 27, 45}
NestList[kaprekar[2, #] &, 13, 20]
{13, 18, 63, 27, 45, 9, 81, 63, 27, 45, 9, 81, 63, 27, 45, 9, 81, 63, 27, 45, 9}
Se forma un bucle {9, 81, 63, 27, 45}, veamos si para todos
kap21 = {};
kap22 = {};
Do[If[NestWhile[kaprekar[2, #] &, n, # != 9 &, 1, 20] == 9,
AppendTo[kap21, n], AppendTo[kap22, n]], {n, 10, 99}]
kap21
kap22
{10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98}
{11, 22, 33, 44, 55, 66, 77, 88, 99}
Se crea una sucesión como bucle 9, 81, 63, 27, 45 excepto obvio los que tienen cifras iguales que dan cero en la primera iteración.
Números de cinco cifras
Aquí existen tres conjuntos de bucles, formados por :
{82962, 75933, 63954, 61974}, {74943, 62964, 71973, 83952} y {53955, 59994}
Veamos que números corresponden a cada uno : kap51 a {82962, 75933, 63954, 61974}, kap52 a {74943, 62964, 71973, 83952}, kap53 a {53955, 59994} y kap54 los que convergen a cero.
kap51 = {};
kap52 = {};
kap53 = {};
kap54 = {};
Do[Switch[NestWhile[kaprekar[5, #] &, n,
And[# != 82962, # != 74943, # != 53955] &, 1, 20], 82962,
AppendTo[kap51, n], 74943, AppendTo[kap52, n], 53955, AppendTo[kap53, n], 0,
AppendTo[kap54, n]], {n, 10000, 99999}]
kap51
kap52
kap53
kap54
Obtenemos en : 43770 en kap51, 43219 en kap52, 3002 en kap53 y 9 en kap54,
Length[kap51] + Length[kap52] + Length[kap53] + Length[kap54]
90000
La totalidad de los números de cinco cifras.
Números de seis cifras
Realicemos el procedimiento con un ejemplo: 123456
NestList[kaprekar[6, #] &, 123456, 20]
{123456, 530865, 829962, 771723, 653544, 310887, 873522, 651744, 620874, 851742, 750843, 840852, 860832, 862632, 642654, 420876, 851742, 750843, 840852, 860832, 862632}
Al igual que en los números de dos cifras, no existe Constante de Kaprekar para números de seis cifras, se crea con este ejemplo un bucle formado por los números: 851742, 750843, 840852, 860832, 862632, 642654, 420876.
Veamos con otro ejemplo 458661:
NestList[kaprekar[6, #] &, 458661, 20]
{458661, 720873, 853542, 620874, 851742, 750843, 840852, 860832, 862632, 642654, 420876, 851742, 750843, 840852, 860832, 862632, 642654, 420876, 851742, 750843, 840852}
También aparece la misma cadena de números.
Existen números de seis cifras que son fijos para el proceso de Kaprekar, por ejemplo : 631764 y otros que convergen a ellos como: 631763
NestList[kaprekar[6, #] &, 631764, 10]
{631764, 631764, 631764, 631764, 631764, 631764, 631764, 631764, 631764, 631764, 631764}
NestList[kaprekar[6, #] &, 631763, 10]
{631763, 632664, 431766, 631764, 631764, 631764, 631764, 631764, 631764, 631764, 631764}
Ahora, veamos cuales son los números que no terminan en la sucesión que inicia con 851742
kap61 = {};
kap62 = {};
kap63 = {};
kap64 = {};
Do[Switch[NestWhile[kaprekar[6, #] &, n, # != 851742 &, 1, 20], 851742,
AppendTo[kap61, n], 631764, AppendTo[kap62, n], 549945, AppendTo[kap63, n],
0, AppendTo[kap64, n]], {n, 100000, 999999}]
kap61
kap62
kap63
kap64
El conjunto kap61 con 841996 números son los que convergen al bucle, el conjunto kap62 con 56180 números son los que convergen a 631764, el conjunto kap63 con 1815 convergen a 549945 y kap64 con 9 números, todas las cifras iguales, son los que convergen a cero.
Los números de kap63 son todas las posibles permutaciones de los conjuntos de dígitos, siguiente :
DeleteDuplicates[Table[Sort@IntegerDigits[kap63[[n]]], {n, Length[kap63]}]]
{{0, 0, 1, 1, 5, 5}, {1, 1, 1, 1, 6, 6}, {1, 1, 2, 2, 6, 6},
{1, 1, 3, 3, 6, 6}, {1, 1, 4, 4, 6, 6}, {1, 1, 5, 5, 6, 6},
{1, 1, 6, 6, 6, 6}, {0, 0, 2, 2,5, 5}, {2, 2, 2, 2, 7, 7},
{2, 2, 3, 3, 7, 7}, {2, 2, 4, 4, 7, 7}, {2, 2, 5, 5, 7, 7},
{2, 2, 6, 6, 7, 7}, {2, 2, 7, 7, 7, 7}, {0, 0, 3, 3, 5, 5},
{3,3, 3, 3, 8, 8}, {3, 3, 4, 4, 8, 8}, {3, 3, 5, 5, 8, 8},
{3, 3, 6, 6, 8, 8}, {3, 3, 7, 7, 8, 8}, {3, 3, 8, 8, 8, 8},
{0, 0, 4, 4, 5, 5}, {4, 4, 4, 4,9, 9}, {4, 4, 5, 5, 9, 9},
{4, 4, 6, 6, 9, 9}, {4, 4, 7, 7, 9, 9}, {4, 4, 8, 8, 9, 9},
{4, 4, 9, 9, 9, 9}, {0, 0, 0, 0, 5, 5}, {0, 0, 5, 5, 5, 5}}
Propuesta
Para los números de 7, 8, 9 y 10 cifras es indispensable disponer de un buen equipo pues los cómputos son largos. Si dispone de varios núcleos en su computador puede utilizar la orden ParallelDo[ ] en lugar de Do[ ].
Pero es un buen ejercicio ver su comportamiento.
Espero sus comentarios!!!
Suscribirse a:
Comentarios de la entrada (Atom)
Probé con papel y lápiz algunos ejemplos y los números de kaprekar de dos dígitos aparecen en los de 4, los de 3 en los de 5, los de 4 en un los de 6 y así sucesivamente. Teniendo una relación entre ellos y quizás se pueda probar que con dígitos pares se llega a un bucle y de dígitos impares se llega a una constante de kaprekar única.
ResponderBorrar