[python] lekce 15 - ukol
Jan Jakubuv
jakubuv na gmail.com
Čtvrtek Červen 5 19:39:14 CEST 2008
Dobry den,
treba takto:
print filter(lambda x: x[0]==x[1], map(lambda y: (y,sum(map(lambda x:
int(x)**5, str(y)))), xrange(10**4,10**5)))[0][0]
Jednoduse, projdete vsechny petimistna cisla, spoctete soucet patych
mocnin cislic a porovnejte. Tak jako na predchozim radku, ale abych
napsal citelnejsi reseni:
for cislo in xrange(10**4,10**5):
mocniny = map(lambda x: int(x)**5, str(cislo))
soucet = sum(mocniny)
if cislo == soucet:
print cislo
break
Kdyby sand jeste nebyl jasny radek "mocniny = ..." tak doplnim ekvivalent:
s = str(siclo)
mocniny = [int(s[0])**5,int(s[1])**5,int(s[2])**5,int(s[3])**5,int(s[4])**5]
S pozdarvem,
honza.
2008/6/5 Jakub <kuba.vlk na gmail.com>:
> Bry den, chtěl jsem se zeptat na spravné řešení úkolu z lekce 15, který
> zněl: /Najděte pětimístné číslo, které se rovná součtu pátých mocnin
> svých číslic. /Nějak mě nenapadá moc řešení, děkuji.
>
> Jakub
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
>
Další informace o konferenci Python