Para qué valor (es) de [matemática] n [/ matemática] ([matemática] n \ in \ mathbb {N} [/ matemática]) la suma de dígitos en [matemática] n ^ 2 [/ matemática] es igual a [ matemáticas] 51 [/ matemáticas]?

Mi reacción inicial cuando vi la pregunta: “Huh, interesante. Escribiré un script de Python lo suficientemente directo y llegaré al fondo de esto en poco tiempo. ¡Fácil!”

Y escribí lo hice. Esto es lo que:

def sumOfDigits (número):
suma = 0;

para c en número:
suma + = ord (c) – 48;

suma de retorno;

permisible_sum = 51;

para i en rango (1, 10000, 1):
cuadrado = i * i;
sum = sumOfDigits (str (cuadrado));

if (sum == permissible_sum):
imprimir (i, cuadrado, suma);

Por desgracia, no me dio nada.

Bueno, tal vez si elevo el límite superior de mi ciclo, podría llegar a un número, me preguntaba. Me pareció una idea sólida como una roca, porque de tantos números por ahí, TENÍA que ser uno cuya suma de dígitos del cuadrado sea igual a [matemáticas] 51 [/ matemáticas].

Como personalmente tengo un mejor control sobre el manejo y la administración de grandes números en Java , esto es lo que escribí:

import java.math.BigInteger;

clase pública SumOfDigitsInTheSquare {

public static void main (String [] args) {
int permissibleSum = 51, sum = -1;
Cuadrado BigInteger = BigInteger.valueOf (1L);

para (largo i = 1; i <999999999999999999L; ++ i)
{
cuadrado = BigInteger.valueOf (i * i);
sum = sumOfDigits (cuadrado);

if (suma == permisibleSum)
{
System.out.println (i + “,” + square + “,” + sum);
rotura;
}
}
}

private static int sumOfDigits (número de BigInteger)
{
int suma = 0;
char [] array = number.toString (). toCharArray ();

para (char c: array)
suma + = (c – 48);

suma de retorno;
}
}

Y puedo informar con orgullo de esto: dormí, desperté, bloqueé mi sistema, fui al gimnasio, volví, desbloqueé mi MacBook, y esto es lo que descubrí después de casi [matemáticas] 2 [/ matemáticas] horas: Todavía nada.

¡Maldición! Esa es una cosa difícil de resolver. Y la fuerza bruta rara vez es útil , eso ya lo sabía.

Pero estaba casi seguro [matemático] 100 \% [/ matemático] de que tal número no existía.

¿Por qué te rendirías, preguntas? Podrías haber ejecutado tu código un poco más y haberlo verificado.

Y estoy de acuerdo. Pero como puede ver, no soy en absoluto un matemático, sino un programador más, que carece de las habilidades matemáticas necesarias para demostrarlo (o refutarlo). En cuanto a la parte ” ejecutar el código por más tiempo “, ciertamente no tengo tanto tiempo libre.

Antes de que cerrara mis editores para ir a cenar en silencio absoluto, principalmente debido a que no podía encontrar ese número y no poder probar que no existe ese número, otro pensamiento me llamó la atención: Déjame verificar si una suma es posible que no sea y cerca de [matemáticas] 51 [/ matemáticas].

Y lo que encontré estaba lejos de ser interesante, por decir lo menos. Aquí está el script de Python modificado:

def sumOfDigits (número):
suma = 0;

para c en número:
suma + = ord (c) – 48;

suma de retorno;

permisible_sum = 51;
permissible_delta = 3;
diccionario = dict ();

para i en rango (permissible_sum – permissible_delta, permissible_sum + permissible_delta + 1, 1):
diccionario [i] = [];

para i en rango (1, 10000, 1):
cuadrado = i * i;
sum = sumOfDigits (str (cuadrado));

if (suma en el diccionario):
diccionario [suma] .append (i);

para k en el diccionario:
print (k, “:”, len (diccionario [k]));

Y el siguiente es el resultado:

48: 0
49: 163
50: 0
51: 0
52: 75
53: 0
54: 60

Lo que esto nos dice es el número de números cuya suma de dígitos de cuadrados es igual a permissible_sum [math] \ pm [/ math] permissible_delta (llamémoslo [math] x [/ math]).

Dado que permissible_sum [math] = 51 [/ math] y permissible_delta [math] = 3 [/ math], el valor de [math] x [/ math] para [math] 48 [/ math], [math] 49 [/ matemática], [matemática] 50 [/ matemática], [matemática] 51 [/ matemática], [matemática] 52 [/ matemática], [matemática] 53 [/ matemática] y [matemática] 54 [/ matemática] se enumeran, que dice que para números naturales menores que [matemática] 10000 [/ matemática], hay [matemática] 163 [/ matemática] números cuyos cuadrados tienen la suma de sus dígitos como [matemática] 49 [/ matemática]. [matemática] x = 0 [/ matemática] para [matemática] 48 [/ matemática], [matemática] 50 [/ matemática], [matemática] 51 [/ matemática] y [matemática] 53 [/ matemática].

No estoy seguro de qué hacer con esta distribución de frecuencias en torno a [matemáticas] 51 [/ matemáticas]. ¡Suspiro!


Por lo tanto, para responder a la pregunta, no existe un número natural , la suma de los dígitos cuyo cuadrado es igual a [matemática] 51 [/ matemática]. Al menos no pude encontrar uno usando la fuerza bruta.

No estoy seguro si un enfoque programático es lo que tenía en mente, pero de todos modos quería compartir mis hallazgos. Espero que haya ayudado de alguna manera.

Presento la prueba de User-13107636920500222867 de una manera diferente.

Aquí uso el resultado

[matemáticas] s (n ^ 2) \ equiv (s (n)) ^ 2 \ pmod {9} [/ matemáticas]

donde [math] s (n) [/ math] denota la suma de dígitos de [math] n [/ math].

[matemáticas] s (n) = 51 [/ matemáticas] da [matemáticas] 51 \ equiv (s (n)) ^ 2 \ pmod {9} [/ matemáticas]

es decir, 6 [matemáticas] \ equiv (s (n)) ^ 2 \ pmod {9} [/ matemáticas]

Esto significa que [matemática] s (n) [/ matemática] es la raíz cuadrada de [matemática] 6 [/ matemática] módulo [matemática] 9 [/ matemática]. Significa que si existe [matemática] n [/ matemática], entonces 6 debe ser un módulo cuadrado perfecto [matemática] 9 [/ matemática]. Esto no es posible ya que [matemática] 0, 1, 4, 5 [/ matemática] y [matemática] 7 [/ matemática] son ​​los únicos cuadrados perfectos módulo [matemática] 9 [/ matemática]. Por lo tanto, no existe tal [matemática] n [/ matemática].

No existe tal n.
Usaré el hecho de que si [math] n ^ 2 [/ math] es divisible por un primo p, entonces debe ser divisible por [math] p ^ 2 [/ math]
La suma de dígitos en [matemáticas] n ^ 2 [/ matemáticas] es 51
implica que [matemáticas] n ^ 2 [/ matemáticas] es divisible por 3 y no por 9.
Pero, por el resultado anterior tenemos que [math] n ^ 2 [/ math] también debe ser divisible por 9 si es divisible por 3, lo cual no es posible.
Por lo tanto, no existe tal n.

More Interesting

¿Cuál es la media aritmética de los enteros en el conjunto de todos los enteros [matemática] k [/ matemática], [matemática] 1 \ leq {k} \ leq {n} [/ matemática] tal que [matemática] mcd (k, n) = 1 [/ matemáticas]?

¿Por qué la diferencia entre dos cuadrados de números invertidos (como 18 y 81) siempre es un múltiplo de 9?

¿Cuál es el número de todos los posibles [matemática] k [/ matemática] -tuplas de enteros no negativos [matemática] (n_1, n_2,…, n_k) [/ matemática] tal que [matemática] \ displaystyle \ sum \ limits_ {i = 1} ^ {k} n_i = 100 [/ matemáticas]?

¿Cuál es el número de elementos distintos en el conjunto [matemáticas] \ {(1+ \ omega + \ omega ^ 2 +… + \ omega ^ n) ^ m: m, n = 1,2,3,… \} [ / math] donde [math] \ omega [/ math] es una raíz cúbica de la unidad?

¿Cuántos pares de enteros (a, b) hay tales que [matemáticas] a ^ b = b ^ a [/ matemáticas] y [matemáticas] 0 <a <b [/ matemáticas]?

¿Cuál es la mejor aproximación de pi como a / b donde a y b son enteros positivos y a + b <1000?

Cómo demostrar que [matemáticas] B_1 = \ {1, x, x ^ 2 \} [/ matemáticas] es la base de [matemáticas] V [/ matemáticas]

¿Es necesario / importante aprender teoría de números para la informática y los algoritmos de escritura?

¿Hay [math] x \ in \ mathbb {F} _p [/ math] donde [math] x ^ 2 = -1 [/ math] iff [math] p \ equiv 1 \ text {mod} 4 [/ math] ? Aquí [math] p \ neq 2 [/ math] es primo.

En [math] \ mathbb {Z} [i] [/ math], ¿tenemos necesariamente la igualdad de ideales [math] (p) = (p, x – i) (p, x + i) [/ math] ?