Dado un número N y su suma como S. ¿Cuál es la aproximación matemática para construir el mayor número que tiene N dígitos cuya suma es S y el menor número de N dígitos cuya suma es de nuevo S. No se consideran los números con dígitos cero.
Respuestas
¿Demasiados anuncios?(a)Llenar el primer $\lfloor\frac S9 \rfloor$ dígitos por $9$
Rellene el siguiente dígito con $S\mod9$
Rellene el resto de los dígitos con $0$
(b)Llenar el último $\lfloor\frac {S-1}9 \rfloor$ dígitos por $9$
Rellena la cifra anterior con $S-1\mod9$
Rellene el resto de los dígitos con $0$
Añadir $1$ al primer dígito.
Ejemplo del comentario de abajo, $S=15$ , $N=2$
$\lfloor\frac {S-1}9 \rfloor = 1$
$S-1\mod9 = 5$
Por lo tanto, usted tiene $59$ . No hay dígitos restantes, por lo que no $0$ s. Ahora, el último paso - añadir $1$ da $69$
Supongo que se refiere a un número con $N$ dígitos en base decimal y teniendo la suma de dígitos $S$ .
Se reduce a la partición del número $S$ en $N$ partes (¡si es posible!), donde las partes están en el rango $\{ 0, \dotsc, 9 \}$ y ordenarlo de tal manera que las partes más grandes vengan primero para un número máximo, o de tal manera que las partes más pequeñas vengan primero para un número mínimo. De todas las particiones factibles se elige la que viene primero bajo el orden considerado.
Se podría plantear como programación lineal entera (ILP), por ejemplo \begin {matriz} \max & c^ \top x \\ \text {en relación con } & Ax = b \\ & 0 \le x \\ & x \le 9 \end {matriz} con \begin {align} c^ \top &= (10^{N-1}, 10^{N-2}, \dotsc , 1) \in \mathbb {R}^{1 \times N} \\ A &= (1, \dotsc , 1) \in \mathbb {R}^{1 \times N} \\ x &= (¡x_!, \dotsc x_N)^ \top \in \mathbb {Z}^N \\ b &= (S) \in \mathbb {N} \end {alinear} y utilizar un solucionador.
El número mínimo es un poco más complicado, debido a la convención de que el $0$ se eliminan los dígitos (excepto los números de una sola cifra).