Menor número con la misma suma de dígitos
Los números 17, 341 y 62 tienen en común que la suma de sus dígitos da el mismo valor, 8. Hay muchos otros números así; de todos ellos, ¿cuál es el más pequeño?
Entrada
Los números 17, 341 y 62 tienen en común que la suma de sus dígitos da el mismo valor, 8. Hay muchos otros números así; de todos ellos, ¿cuál es el más pequeño?
Salida
Para cada caso de prueba, el programa escribirá, en una línea independiente, el menor número positivo cuya suma de dígitos, al escribirlo en decimal, sea igual al valor de la entrada.
Entrada de ejemplo
8
10
0
Salida de ejemplo
8
19
Solución propuesta
def suma_cifras(número):
return sum([int(c) for c in str(número)])
if __name__ == '__main__':
soluciones = []
menor = int(input())
while menor:
prueba = 1
suma = suma_cifras(prueba)
while menor != suma:
prueba += 1
suma = suma_cifras(prueba)
soluciones.append(prueba)
menor = int(input())
for solucion in soluciones:
print(solucion)
Publicado el
11 de
junio
de 2018