Home > Project Euler, python > Problem Euler #30

Problem Euler #30

Surprisingly there are only three numbers that can be written as the
sum of fourth powers of their digits:

    1634 = 1^4 + 6^4 + 3^4 + 4^4
    8208 = 8^4 + 2^4 + 0^4 + 8^4
    9474 = 9^4 + 4^4 + 7^4 + 4^4

As 1 = 1^4 is not a sum it is not included.

The sum of these numbers is 1634 + 8208 + 9474 = 19316.

Find the sum of all the numbers that can be written as the sum of fifth
powers of their digits.

Note:
il limite minimo è 10 poichè vogliono essere escusi i numeri con un digit:
”’As 1 = 1^4 is not a sum it is not included.”’
Il limite massimo è dato da:
9^n * (n-1)
(Google way)

import time

ts = time.time()

def powersum(n):
    res = 0
    for digit in str(n):
        res += int(digit)**5
    if res == n:
        return True
    return False


# max limit is 9^n * (n-1) in this case 9^5 * 4
l = [i for i in xrange(10, 236196) if powersum(i)]
print sum(l)
print time.time() - ts
Categorie:Project Euler, python
  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: