Počítání vysokých čísel – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Počítání vysokých čísel – Python – Fórum – Programujte.comPočítání vysokých čísel – Python – Fórum – Programujte.com

 

Fonadius0
Návštěvník
31. 12. 2007   #1
-
0
-

Zkouším si teď udělat eratesthenovo síto v pythonu, tak aby počítalo i opravdu vysoká čísla, problém je, že když používám range a seznamy tak mi to hlásí memory error, takže jsem zkusil používat ntice a xrange tady, ale program jede opravdu nehorázně pomalu. Poradíte mi někdo jak by to šlo zoptimalizovat?(asi toho bude opravdu hodně, tak se mi moc nesmějte :))

def sito(cislo):

def promazani(cislo,seznam):
def pozice(cislo,nt):
pozice=-1
for i in nt:
pozice=pozice+1
if i==cislo:
return pozice

umisteni=pozice(cislo,seznam)
seznam=seznam[:umisteni]+seznam[umisteni+1:]
return seznam

seznam=()
for i in xrange(2,cislo):
seznam=seznam+(i,)
prvocisla=()
while seznam[0]<odmocnina(cislo) and seznam!=():
prvocisla=prvocisla+(seznam[0],)
nasobky=range(seznam[0]*2,seznam[-1],seznam[0])
for i in nasobky:
if i in seznam:
seznam=promazani(i,seznam)
seznam=seznam[1:]
prvocisla=prvocisla+seznam[:]
return prvocisla

Mimochodem jak jsou na tom s časovou a systémovou náročností funkce map a filter, vlastně obecně celé funkcionální programování v python?

Nahlásit jako SPAM
IP: 212.80.64.–
Nevěřte moc firmám, které slibují komplexní řešení vašich problémů. Komplexní řešení z pravidla mívají netriviální imaginární část.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 2 hosté

Podobná vlákna

Počítání Sessions — založil Bryant

Počítání písmen — založil MadKing

Počítání metody — založil lekejs

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý