leitura de
Encontrou um problema no conteúdo? Por favor, deixe seu comentário!

Fala meus queridos leitores! Tudo bem?

Essa semana eu queria falar um pouquinho do Project Euler, um projeto beeeem interessante.

Project… Quem?

Euler fez importantes descobertas em campos variados nos cálculos e grafos. Ele também fez muitas contribuições para a matemática moderna no campo da terminologia e notação, em especial para as análises matemáticas, como a noção de uma função matemática. Além disso ficou famoso por seus trabalhos em mecânica, óptica, e astronomia. Euler é considerado um dos mais proeminentes matemáticos do século XVIII. Fonte: [http://pt.wikipedia.org/wiki/Leonhard_Euler](http://pt.wikipedia.org/wiki/Leonhard_Euler)

Desafios de programação

O Project Euler é um site com pequenos desafios de programação que envolvem conhecimentos matemáticos… Ao todo (e atualmente) são 344 problemas, passando pelos mais variados níveis de dificuldade, conhecimentos de lógica de programação e “macetes” matemáticos.

O processo é bem simples:

  1. Você se cadastra no site
  2. Escolhe um dos problemas
  3. Cria um código pra calcular a resposta do problema
  4. "Inputa" a resposta e o site te diz se você acertou ou não

Existem problemas que apenas 25 pessoas conseguiram resolver!

Resolvendo o primeiro problema com PHP e Python

Resolvi trazer o primeiro problema aqui pro blog e mostrar duas soluções (idênticas) que criei usando Pyhon.

Segue a descrição e a tradução do problema:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below 1000.
Se listar todos os números naturais inferiores a 10 que são múltiplos de 3 ou 5, temos3, 5, 6 e 9. A soma desses múltiplos é de 23. Encontre a soma de todos os múltiplos de 3 ou 5 abaixo de 1000.

Este é um problema bem simples, muito parecido com o O que é Coding Dojo? para iniciantes.

Solução em PHP

Antes de qualquer coisa, eu não sou um bom matemático… Na maior parte do tempo eu não vejo “coisas” quando olho para um monte de números… Provavelmente existem soluções mais elegantes que essa.

Primeiro vamos à minha solução em PHP:

Solução em Python

E agora, a mesma abordagem em Python:

Conclusão

Meu intuito aqui não é comparar as duas linguagens! Pra mim, ambas são excelentes.

Queria apenas trazer para vocês esse projeto, que pode ajudar muito nos estudos/aperfeiçoamento dos seus conhecimentos de programação (e talvez matemática).

Os problemas parecem simples quando pensamos neles, mas nem sempre a solução via código é tão simples assim… É aí que percebemos o quão f*da o nosso cérebro é.

Espero que tenham gostado!

Deixe sua impressão sobre o projeto, problemas resolvidos, sugestões de refatoração e etc. ;)

Thiago Belem / Blog

Thiago Belem


Publicado

Thiago Belem / Blog

Thiago Belem / Blog

Artigos e tutoriais sobre desenvolvimento WEB

Continue lendo