¿Por qué algunos números se representan de manera desproporcionada al calcular una suma de dígitos?

Escribí un pequeño script en python para calcular la suma de dígitos de un número (es decir, #152 = 1 + 5 + 2 = 8) después de elevarlo a varias potencias. Luego noté que ciertos números son dramáticamente más comunes que otros, mientras que otros no ocurren en absoluto.

Por ejemplo, después de iterar a través de los números 1-1000, cada uno elevado a la potencia 1-100, ni una vez ocurrió una suma de dígitos de 3 o 6, mientras que 1 y 9 ocurren decenas de miles de veces. A continuación se muestran los resultados de salida;

i: 0 | Count: 0
i: 1 | Count: 27178
i: 2 | Count: 3547
i: 3 | Count: 0
i: 4 | Count: 10862
i: 5 | Count: 3546
i: 6 | Count: 0
i: 7 | Count: 10862
i: 8 | Count: 9208
i: 9 | Count: 32601

Y aquí hay un enlace de github al script de python que escribí; https://github.com/Your-Pal-Al/Digit_Sum_Exp/blob/322846f690b8fdac9b600150de8887d7e25a734a/digit_sum_exp.py

EDITAR: Errores lógicos de bucle de secuencia de comandos fijos

@Troposphere En el script Python de OP, comienzan desde potencias de 2.
Bueno, si k es múltiplo de 3 entonces k 100 es múltiplo de 9 por lo que la suma de los dígitos será 9 . Si k no es múltiplo de 3 entonces 3 100 tampoco lo es y la suma de los dígitos no será 3 , 6 o 9 . Entonces 1 3 de los dígitos será 9 y 3 y 6 nunca ocurrirá.

Respuestas (1)

Primero, su secuencia de comandos realmente no "itera [e] a través de los números 1-1000, cada uno elevado a la potencia 1-100". Porque nunca reinicias el X variable entre ejecuciones del ciclo interno, en realidad estás calculando ( a + 2 ) a / 98 + 2 para 0 < a < 998 98 .

Esto crea algunas diferencias menores con los buenos conteos que obtendría si estuviera en bucle. X y y independientemente de 2 a 999 y 2 a 99 . No importa, el patrón general es, en términos generales, el mismo.


La suma iterada de dígitos de un entero positivo no es otra cosa que el resto al dividir el número original por 9 , excepto cuando el resto es 0 la suma de los digitos es 9 en cambio. Esta es la base para sacar nueves .

ahora cuando sea X en X y era divisible por 3 y y 2 , entonces X y es divisible por 3 2 = 9 , por lo que todos esos casos (alrededor de un tercio de todos) producen la suma de dígitos 9 . Por otro lado, X y no puede ser divisible por 3 a menos que X es divisible por 3 , entonces sumas de dígitos de 3 o 6 son imposibles

Cuando X no es divisible por 3 es coprimo para 9 , y por lo tanto el teorema de Euler dice que X y 1 ( modificación 9 ) cuando sea y es múltiplo de φ ( 9 ) = 6 . Por supuesto, el resto también es 1 cuando X 1 ( modificación 9 ) no importa qué y es. Esto crea un claro sobrepeso de 1 entre las sumas.

Finalmente, un módulo cuadrado 9 es siempre uno de { 0 , 1 , 4 , 7 } -- y X y es un cuadrado siempre que y incluso. Esto explica por qué ves 4 y 7 más a menudo que 2 , 5 , o 8 . Por otro lado, un módulo de cubo 9 es siempre uno de { 0 , 1 , 8 } , así que cuando y 3 ( modificación 6 ) , un tercio de la X valores producen 8 , explicando por qué 8 es más popular que 2 y 5 .


También podemos contar la popularidad de cada residuo directamente escribiendo una tabla:

y = 6 norte + 6 6 norte + 7 6 norte + 2 6 norte + 3 6 norte + 4 6 norte + 5 0 y modificación 9 = 0 0 0 0 0 0 1 y modificación 9 = 1 1 1 1 1 1 2 y modificación 9 = 1 2 4 8 7 5 3 y modificación 9 = 0 0 0 0 0 0 4 y modificación 9 = 1 4 7 1 4 7 5 y modificación 9 = 1 5 7 8 4 2 6 y modificación 9 = 0 0 0 0 0 0 7 y modificación 9 = 1 7 4 1 7 4 8 y modificación 9 = 1 8 1 8 1 8

Contando las instancias de cada resultado en esta tabla, debe hacer coincidir bastante bien sus frecuencias experimentales. (Cada una de las celdas es golpeada por aproximadamente 98 998 54 1811 de sus casos de prueba).