Home > Project Euler, python > Problem euler #36

Problem euler #36

The decimal number, 585 = 1001001001 base2 (binary), is palindromic in both
bases. Find the sum of all numbers, less than one million,
which are palindromic in base 10 and base 2.
(Please note that the palindromic number, in either base, may not include
leading zeros.)

python:

import time
ts = time.time()

def is_pal(n):
    binary = str(bin(n))[2:]
    chrs = [x for x in str(n)]
    chrs.reverse()
    if str(n) == ''.join(chrs):
        ch = [x for x in binary]
        ch.reverse()
        if binary == ''.join(ch):
            return True
    else:
        return False

print sum(filter(is_pal, range(10**6)))
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: