ProjectEuler#6


Problema proposto:

http://projecteuler.net/index.php?section=problems&id=6

Resolução pythônica:

>>> (sum(xrange(1,101)) ** 2) - (sum([x ** 2 for x in xrange(1,101)]))

Cuidado: aqui tem uma pegadinha do [x]range, a syntaxe dele é: xrange(start,stop,step) .

Mas percebam os resultados

>>> [x for x in xrange(1,10)]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [x for x in xrange(1,11)]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 

Ele não retorna o último número, ele PÁRA no último número. Por isto, no problema, como quero todos os números de 1 a 100 inclusive, faço o xrange(1,101).

Abraços.

Anúncios

4 Comments

  1. Acho que vou fuçar um pouco por lá.

    Não lembro agora mas tinha um em que, resolvendo o problema, se chegava ao endereço do próximo e assim sucessivamente. Originalmente para Python mas, como qualquer problema, poderia ser resolvido em qualquer linguagem com maior ou menor dificuldade.

    Outro que acho bacana é o http://rosettacode.org/ . Como a maioria dos problemas já foram resolvidos, é interessante para uma comparação entre as diversas linguagens.

    Curtir

    Responder

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s