Unos y ceros
Submit solution
Points:
100 (partial)
Time limit:
14.0s
Java 8
20.0s
Python
20.0s
Memory limit:
1G
Author:
Problem types
Allowed languages
Ada, Assembly, Awk, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Lua, Pascal, Perl, Prolog, Python, Scala, Swift, VB
La representación decimal de ciertos enteros positivos consite solo de unos y ceros, y teniendo al menos un dígito uno, por ejemplo . Si un entero positivo no cumple esta propiedad, uno puede tratar de multiplicarlo por algún entero positivo para comprobar si el producto cumple esta propiedad.
Entrada
Número de casos de prueba ( es aproximadamente ); en cada una de las siguientes líneas hay un entero
Salida
Para cada caso de prueba, su programa debe calcular el menor múltiplo del número , que consiste solo de dígitos y (comenzando con ).
Ejemplo de entrada
3
17
11011
17
Ejemplo de salida
11101
11011
11101
Comments
Gracias a Teruel por la pista
Ño estoy pasao,lo tiré así mismo y dio quién lo diría
Tiene mucho sentido,la solución,es el menor número binario que con los mismos digitos en la forma decimal es divisible por n,podemos iterar de 1 en adelante convertir a binario y dividir por n,ahora hay soluciones que tienen muchos dígitos por ejemplo los múltiplos de 9,el problema estaría desplazado a ver que combinación de potencias de 10 distintas al sumarlas de diviaible por n,pero priorizando la optimización.
Se necesita algún truco para superar los 20 puntos en este problmea, o solo canalizar bien la fuerza bruta??
bfs pasa en el límite de tiempo
M intriga mucho como un algoritmo d grafos resuelve esto. Supongo q la solución es estudiar más
Como los números de la forma 001 no son una solución válida, sabes que debe empezar con un 1, de ahí que puedes ir generando todos los números en orden creciente, empezando por 1, vas de X a 10X y a 10X + 1. Ahora solo necesitas saber si el número es divisible por K, y ahí te puedes apoyar en la aritmética modular.
Gracias man
Cómo es esto?
This comment is hidden due to too much negative feedback. Show it anyway.
Como puedo hacer este ejercicio?