cmiN Posted July 31, 2011 Report Share Posted July 31, 2011 Poate converti cineva asta intr-un limbaj mai putin lent decat Python (C/C++, Java, Php, etc) ?Aveti un exemplu de intrare/iesire ca sa stiti daca lucreaza corect.Trebuie lucrul cu numere mari (lungimea rezultatului nu sare de 1000) implementarea ar trebui sa fie simpla, nu necesita optimizari ci doar atentie la formatare. Detalii despre numere mari si enunt.Mc anticipat, dar nu am timp :\. Quote Link to comment Share on other sites More sharing options...
Paul4games Posted July 31, 2011 Report Share Posted July 31, 2011 Uite aici o functie de adunare scrisa de mine:[Delphi] Adunare6 - Pastebin.comsi varianta mai rapida(desi versiunea precedenta poate aduna numere asta este ce cred eu ca, cauti daca vrei sa fie un pic mai optimizata, oricum e o diferenta foarte mica de viteza intre cele 2 functii):[Delphi] Adunare5 - Pastebin.comMaine cel mai probabil o sa modific iara aceasta funtie ca sa poata lucra cu numere cu aproape o infinitate de cifre(momentan poate lucra doar cu numere a caror lungime<=Length(Int64), adica lungimea lor sa nu depaseasca 9,223,372,036,854,775,807 de cifre).Cat despre adunare/impartire/inmultire o sa scriu sia ceste functii cel mai probabil zilele viitoare. Quote Link to comment Share on other sites More sharing options...
cmiN Posted August 1, 2011 Author Report Share Posted August 1, 2011 9,223,372,036,854,775,807 de cifre ? Imi ajung 1000 oricum nu-ti intra in ram ce ai scris tu mai sus. M-ar ajuta un script functional la sfarsit nu doar bucati, 10x oricum . Quote Link to comment Share on other sites More sharing options...
Paul4games Posted August 2, 2011 Report Share Posted August 2, 2011 ? Imi ajung 1000 oricum nu-ti intra in ram ce ai scris tu mai sus. M-ar ajuta un script functional la sfarsit nu doar bucati, 10x oricum .Da ma gandeam ca nu intra in ram dar l-am facut ca pe o provocare sa vcad cat de departe pot ajunge si dupa cum am spus am o idee cum sa il fac sa poata face si calcule mai mari.Si nu am prea inteles exact ce vrei tu, daca 1000 de cifre este de ajuns atunci de ce nu folosesti 2 variable de tip Int64 care sa faca adunarea de genul:Result := Int1 + Int2;Daca vreei sa vorbim ami multe dami un pm cu un id de contact sau ceva(yahoo/msn/jabber/icq/ce preferi) si cred ca as putea sa iit fac eu un programel ca sa fac ce vrei tu cu toate operatiile necesare. Quote Link to comment Share on other sites More sharing options...
cmiN Posted August 2, 2011 Author Report Share Posted August 2, 2011 Ma, cererea mea e simpla: vreau o alternativa pentru scriptul meu care sa dea acelasi output pentru inputul respectiv. Datele de intrare si iesire le gasesti pe codepad (in linkul care ti l-am dat) acolo sub script unde scrie Input respectiv Output. Nu ma intereseaza cum arata scriptul ci doar sa functioneze pentru exemplul ala (mai gasesti un exemplu pe spoj, ai link tot acolo) eventual ca sa vezi daca a functionat ii poti da un submit pe spoj.Rezultatul e simplu pe urma ... daca da WA e clar ideea mea e proasta sau trebuie retusata, daca da TLE atunci trebuie neaparat sa-l scriu in C.P.S.: cmin764L.E.: pe un uint64 incap maxim 18 cifre (in intervalul 0-9) Quote Link to comment Share on other sites More sharing options...
gigaevil Posted August 10, 2011 Report Share Posted August 10, 2011 Pentru a face o optimizare la rularea python-ului poti folosi Psyco. De exemplu daca scrii 2 surse una in Python cu Psyco sa-ti numere de la 0 la 2 miliarde iti va merge mai repede decat in C++ compilat cu GCC pe aceeasi problema. Quote Link to comment Share on other sites More sharing options...