Project Euler é um bom site de desafios onde as tarefas apresentadas são boas para quem já possui uma base de programação e procura apreender um nova linguagem ou como ir um passo além e otimizar um processo através de passos matemáticos.
Tomei a liberdade de copiar os enunciados e em alguns casos alterá-lo para maior clareza. Qualquer dúvida os enunciados podem ser conferidos na integra no site do projeto, o número do problema é linkado no nome do arquivo.
Coloquei também as linguagens que gostaria de aprender, a diferença delas para as outras é a falta de problemas implementados.
Todos os status serão seguidos por uma explicação referente a última alteração no código.
Todas as atividades foram implementadas nas linguagens que os diretórios representam. Até agora:
Nem todas as tarefas estão finalizadas e mais em algumas linguagens do que em outras. Este é um projeto de aprendizado e considero um dos poucos que levarei para a vida
As tarefas estão organizadas em pastas de acordo as conquistas desbloqueadas, que são a cada 25 realizadas. Além disso, quando o exercício precisar de algum arquivo de texto com inputs ele se econtrará em uma pasta nomeada input e o com o .txt nomeado referente ao exercício.
Algumas implementações podem requerer pacotes da linguagem que eu acabei instalando, procure ver os imports antes de rodar o programa e, qualquer coisa, procure ver como instalar aquele pacote em expecífico.
Além disso, todas as referências utilizadas também estarão igualmente listadas ao final de cada descrição. Seja ela desde uma página da que eu utilizei para entender melhor o conceito por trás da tarefa, uma página de outras pessoas que já realizaram tais tarefas, ou teoria matemática.
Alguns sites comumente utilzados:
Talvez algum dia eu irei rodar benchmarks comparando a performance das linguages para cada caso de teste, então publicarei.
Procuro sempre comentar os códigos, em Inglês, para que a leitura seja de maneira mais clara. Todavia, normalmente o faço depois que termino a tarefa.
Qualquer dúvida só avisar
Veja o arquivo LICENSE.
- Apenas eu
E pretendo continuar assim porque este projeto é para desenvolvimento pessoal. Mas fique a vontade para fazer fork dele e modificar as implementações como achar necessário e acabar criando a sua tomando passos diferentes dos meus.
Não abrirei o projeto para nenhum Pull Request (PR), porém se encontrar algum problema ao rodar os problemas, sejam eles com dependencias ou minha solução foi muito orientada ao input, se sinta a vontade de me avisar que eu procurarei corrigir isso e darei sim o mérito a você que me ajudou com isso.