Archive for Euler

Numere amiabile cu MVP Ovidiu Cucu.

Posted in Codare cu premeditare with tags , , , on July 19, 2010 by jos8cal

Pe forumul expertilor in C++, MVP Ovidiu Cucu, promotorul rusticului, a voii bune si responsabil cu decalogul pe diverse forumuri romanesti, propune problema gasirii celei mai mari perechi de numere amiabile (numere cu suma divizorilor egala).

Odata ce si-a pus cronometrul la git, a fluierat inceputul partidei dintre Om si Masina, dintre Pixul lui Euler si Tranzistorii lui Intel Core 2 Duo 2.33 GHz. Codul aliniat la start de Ovidiu Cucu este aici.

Dupa 30 de minute se aude fluierul final al primei reprize iar tabela de marcaj arata rezumatul meciului:

get_sum_div() done in 1740 s.
1077890 1099390 found in 1763 s.
1154450 1189150 found in 1784 s.
1156870 1292570 found in 1785 s.
1175265 1438983 found in 1790 s.
1185376 1286744 found in 1793 s.
1280565 1340235 found in 1815 s.
1328470 1483850 found in 1825 s.
1358595 1486845 found in 1830 s.
1392368 1464592 found in 1835 s.
Press any key to continue . . .

Vazind ca procesorul incearca sa scoata echipa de pe teren, Ovidiu se chinuie sa inteleaga ce nu merge in jocul echipei sale si cu nedumerire se uita catre tribuna in care se aflau alti MVPei si spune:

Cu toate ca are cateva mici optimizari, get_sum_div ia cel mai mult timp.
Sunt sigur ca se poate si mai bine.
Idei?

MVP Marius Bancila isi face cruce si-si scoate tricoul cu MVP in timp ce se indreapta catre o camera de luat vederi pentru a-si arata maioul pe care statea scris cu pixul:

OMG, Euler facea mai repede pe hartie.

Ovidiu vazind asta, se intoarce in sanul familiei pentru a cere ajutor fiului sau din clasa a cincea. Acesta insa se prapadea de ris, dupa cum avea sa ne spuna mai tirziu Ovidiu pe forum:

Cand i-am aratat lu fiimeu (din a cincea) prima metoda s-a prapadit de ras (“nica nu stiu mosnegii din ziua de azi”)