¿Qué es?
¡Acepta el reto! es un almacén y juez en línea de problemas de programación en español que acepta soluciones en C, C++ y Java.
No es un mero listado de problemas, sino mucho más. ¡Es un corrector automático!
Si quieres poner a prueba tu habilidad programando y compararla con la de otros, ¡éste es tu sitio!
¿Por dónde empiezo?
Si no conoces este tipo de jueces, te ayudamos a resolver el primer problema para que entiendas la dinámica del uso y no cometas los errores más comunes.
Luego puedes resolver algún otro de los múltiples problemas disponibles. Si no sabes por cuál empezar, puedes recorrer las diferentes categorías o mirar el problema de la semana que te proponemos abajo. También puedes mirar lo que otros usuarios están resolviendo.
¿Aceptas el reto?
Problema de la semana
Checkmult
Para detectar errores de transmisión en redes de datos, es habitual calcular un checksum o "suma de verificación" a partir de los datos transmitidos, y enviar también el valor obtenido. En el otro extremo, se recalcula el valor con los datos recibidos y si el resultado no coincide con el esperado se asume que se ha producido un error de transmisión y se toman las medidas oportunas.
Hay muchas formas de calcular el checksum, que se conocen de forma conjunta como funciones de redundancia. La idea es tan útil que se utiliza en muchos otros lugares, como detección de errores en dispositivos de almacenamiento, o incluso criptografía y firmas digitales.
Inspirado por el término inglés checksum, Asier Rorde Tecta ha inventado su propia función de redundancia y la ha llamado checkmult. Para calcular el valor asociado a un número, coge todos sus dígitos que no sean cero y los multiplica entre sí, repitiendo el proceso hasta terminar con un solo dígito. Además, cuenta el número de ceros que se encuentra durante el proceso, incluídos los del número original. Al final, termina con dos valores, el dígito resultado de las sucesivas multiplicaciones y el número de ceros vistos. Pone ambos juntos y ese es el valor del checkmult.