Bueno, si quieres una salida fácil, Python es un lenguaje que siempre viene en nuestra ayuda.
Al resolver el siguiente problema en HackerEarth,
Resuelva BLACKBOX-2 – Problema de programación en HackerEarth
En primer lugar, presenté la siguiente solución y obtuve TLE para 2 archivos de prueba de entrada.
matemáticas de importación
f = math.factorial
n = int (input ())
s = 0
w = f (n)
while (w% 10) == 0:
n / = 10
mientras n> 0:
s = s + (n% 10)
w = w / 10
imprimir m
- ¿Las personas descubren o inventan algoritmos? ¿Cómo?
- ¿Por qué razón se prefieren los operadores de asignación compuesta aritmética al escribir códigos profesionalmente en Java?
- ¿Cuáles son algunos algoritmos rápidos para calcular la enésima potencia de un número?
- Si alguien encuentra un algoritmo para resolver un problema np en p, ¿significa que p = np?
- ¿Cuál es la función de un reóstato?
Luego, modifiqué mi solución de la siguiente manera, y obtuve todos los archivos de prueba de entrada borrados con los límites de tiempo.
matemáticas de importación
f = math.factorial
n = int (input ())
s = 0
w = str (f (n))
para i en rango (1,10):
s = s + (i * (w.count (str (i))))
imprimir m
Sin embargo, creo que no habrá algoritmos específicos. Sin embargo, pruebe los siguientes enlaces; puede ser que te puedan ayudar.
Suma de dígitos de un factorial
¡Encuentra la suma de los dígitos en el número 100!
PD: He omitido la parte donde en la primera línea contiene el número de casos de prueba y cada caso de prueba contiene líneas ‘t’. Y luego tienes que encontrar la suma de los dígitos de factorial para cada ‘n’. Solo para simplificar las cosas. Como debería ver, el número de casos de prueba por archivo podría ser de hasta 10 ^ 3.