O Project Euler é outro site divertido de desafio de programação para competir (bem, jogar). Os problemas iniciais começam suavemente, mas depois explodem em dificuldade além dos primeiros cem. Os primeiros problemas têm alguma semelhança entre encontrar primos, múltiplos e fatores, portanto, pode haver algumas oportunidades interessantes de micro-reutilização de código para brincar.
Portanto, escreva um programa que resolva, sem conhecimento a priori , qualquer um dos nove primeiros problemas .
- O problema é selecionado pelo usuário, ASCII '1' a '9', inclusive, através de um argumento ao chamar ou entrada padrão durante a execução. (Você pode calcular todas as respostas, mas apenas mostrar uma.)
- A resposta correta deve ser impressa em uma nova linha, na base 10, usando ASCII.
- Os programas devem ser executados em menos de um minuto (sugestão de PE).
Por " conhecimento a priori ", quero dizer que seu código deve derivar a resposta sem recursos externos ‡ . Um programa como esse seria considerado inválido (caso contrário, correto, assumindo que eu não cometi um erro de digitação):
print[233168,4613732,6857,906609,232792560,25164150,104743,40824,31875000][input()-1]
‡ para o problema 8 (envolve um número de 1000 dígitos), você pode ler o número de um arquivo externo, apenas especificar como ele é armazenado (por exemplo, binário, texto, cabeçalho, módulo importado) e / ou incluí-lo em sua resposta ( não conta para a duração do programa principal).
A pontuação é em bytes.
- Quinze Unicorn Points ™ concedidos ao líder de contagem de bytes após 2 semanas.
if(i%3<1||i%5<1)a+=i
é mais curto! :)