In [9]:
from euler import timer
def p009():
return (
[a*b*(1000-a-b)
for a in range(1,999)
for b in range(a, 1000-a)
if (a ** 2 + b ** 2 == (1000-a-b) ** 2)][0])
timer(p009)
In [11]:
from euler import timer, Seq
def p009():
return(
range(1,999)
>> Seq.collect(lambda a: range(a, 1000-a)
>> Seq.filter(lambda b: (a**2 + b**2 == (1000-a-b)**2))
>> Seq.map(lambda b: a*b*(1000-a-b)))
>> Seq.head)
timer(p009)
In [12]:
from euler import Seq, timer
def p004():
return (
[a*b for a in range(100, 1000)
for b in range(a, 1000)
if str(a*b)[::-1] == str(a*b)]
>> Seq.max)
timer(p004)
In [13]:
from euler import Seq, timer
def p004():
return (
range(100, 1000)
>> Seq.collect(lambda a: range(a, 1000)
>> Seq.filter(lambda b: str(a*b)[::-1] == str(a*b))
>> Seq.map(lambda b: a*b))
>> Seq.max)
timer(p004)
In [ ]: