Project Euler es otro divertido sitio de desafío de programación para competir (bueno, jugar). Los primeros problemas comienzan suavemente, pero luego explotan en dificultad más allá de los primeros cien. Los primeros problemas tienen algo en común entre encontrar números primos, múltiplos y factores, por lo que podría haber algunas oportunidades interesantes de microreutilización de código para jugar.
Entonces, escriba un programa que resuelva, sin conocimiento a priori , ninguno de los primeros 9 problemas .
- El problema es seleccionado por el usuario, ASCII '1' a '9', inclusive, mediante un argumento al llamar o entrada estándar mientras se ejecuta. (Puede calcular todas las respuestas, pero solo mostrar una).
- La respuesta correcta debe imprimirse en una nueva línea, en la base 10, utilizando ASCII.
- Los programas deben ejecutarse en menos de un minuto (sugerencia de educación física).
Por " conocimiento no a priori ", quiero decir que su código debe derivar la respuesta sin recursos externos ‡ . Un programa como este se consideraría no válido (de lo contrario, correcto, suponiendo que no haya cometido un error tipográfico):
print[233168,4613732,6857,906609,232792560,25164150,104743,40824,31875000][input()-1]
‡ para el problema n. ° 8 (involucra un número de 1000 dígitos), puede leer el número de un archivo externo, simplemente especifique cómo está almacenado (por ejemplo, binario, texto, encabezado, módulo importado) y / o inclúyalo en su mensaje de respuesta ( no cuenta para la duración del programa principal).
La puntuación es por bytes.
- Quince Unicorn Points ™ otorgados al líder de conteo de bytes después de 2 semanas.
if(i%3<1||i%5<1)a+=i
es mas corto! :)