Tras la participación de Bruno, hemos visto que las diferencias en los distintos algoritmos son muy escasas, lo cual era sumamente sospechoso.
Bruno ha llegado a la conclusión de que el principal consumo de tiempo se debía a la impresión de los resultados con la USART, por lo que la influencia del algoritmo quedaba completamente oculta bajo las esperas de la USART.
La solución para medir perfectamente la eficacia de los distintos algoritmos pasa por hacer una modificación al funcionamiento, que ha consistido en que la función devuelva el resultado en un string de 16 posiciones.
char Resultado[16];
Puedes descargar la nueva plantilla
desde aquíPara no marear a los concursantes que ya han enviado su algoritmo, haré yo las modificaciones y publicaré los resultados.
Por cierto, este es el resultado de Bruno con su algoritmo: