¡Algunas respuestas innovadoras aquí!
Usaría el hermoso operador llamado módulo.
Suma los números llamados, con el módulo 100.
- ¿Cuáles son algunos ejemplos de problemas para los cuales una cola prioritaria resulta útil?
- ¿Qué idioma debo aprender para el comercio de algoritmos?
- ¿Cuál es la diferencia entre los algoritmos Reheap up y Reheap down?
- Cómo encontrar la ruta más corta en un gráfico no ponderado en lenguaje C
- ¿Por qué mi código JavaScript muestra un error de bucle infinito en la línea 7? ¿Por qué no está eliminando los elementos de la matriz de entrada?
es decir, sigue sumando los números que se llaman hasta que cruces 100. Luego, cuando lo cruces, resta 100.
Ejemplo: si los números llamados son 42, 17, 53, 6 …
42 + 17 = 59
59 + 53 = 112
Ahora la suma ha cruzado 100, por lo que descarta el dígito de los 100.
Tienes 12.
Agregue 12 al siguiente número llamado y repita los pasos anteriores.
Cuando se llaman 99 números, habrías descartado 100 49 veces.
Finalmente, te quedará un número <150. Digamos 'n'.
Para encontrar el número faltante que no se llamó, reste n de 150 nuevamente con el módulo 100.
es decir, si n es 3, entonces 150-3 = 147 y 147 módulo 100 es 47
o si n es 53, entonces 150-53 = 97 y 97 módulo 100 es 97.
(La razón por la que restamos de 150 es que la suma total es 5050 y hasta ahora habríamos restado 49 × 100 = 4900, por lo que nos queda 150).
Este método es similar a mantener una suma de todos los números y restar eso de 5050. Aquí solo tratarías con números más pequeños en tu cabeza.