infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Sandulescu Dragos din Martie 22, 2007, 21:31:30



Titlul: operatii pe numere mari
Scris de: Sandulescu Dragos din Martie 22, 2007, 21:31:30
As sa ma ajute cineva sa fac operatii cu numere mari. As vrea o impartire dintre un nr. mare si un mare mare.La inmultiri si adunari ma descurc am vazut articolul de pe infoarena. :banana:


Titlul: Răspuns: operatii pe numere mari
Scris de: Bondane Cosmin din Martie 22, 2007, 22:08:45
stiu ca nu ii prea optim dar avand in vedere ca ai 2 numere mari ( si ele sa zicem ca is destul de apropiate)-> rezultatul va fi ceva mai mic -> poti face o cautare binara (cauti catul intre 1 si maxim ) pan gasesti rezultatul 

sper ex ai nr a1 si a2

a1 / a2 = c; => c*a2 = a1; si tu va trebui sa cauti c-ul


Titlul: Răspuns: operatii pe numere mari
Scris de: Andrei Homorodean din Martie 23, 2007, 00:03:29
Eu am facut mai altcumva... am doua nr mari a1 si a2, cu a1 > a2... si tot scad din a1 pe a2 pana nu mai pot... la final in a1 va ramane restul imparitirii, daca mai faci si un contor aflii si catul :) E mai optim cu cautarea binara, dar asta o poti implementa mai rpd, zic eu...

Later edit: Hm, nu stiu cat de optim e ca pana la urma si inmultirea are complexitatea O(n*m), parca....


Titlul: Răspuns: operatii pe numere mari
Scris de: Sima Cotizo din Martie 23, 2007, 08:27:12
Tu compari ceva logaritmic cu ceva liniar?  :eyebrow: ... Probabil e un caz particular, dar in rest si eu as merge pe cautare binara... in care si peste cap sa te dai si tot 64 de operatii ai avea, daca s-ar putea...

Parca am incercat ca fraierul sa fac asta la Stele in 2005 si mi-am mancat tot timpul (nu cumva vrei sa stii pt problema aia cu A^B=P ? :D )... dar m-am gandit la algoritmul de pe foaie... Stiti voi, cum erati invatati in clasele a 4-a sau a 5-a... "se ia prima cifra... daca e mai mica decat impartitorul se ia si a doua si tot asa... " asta pana cand ajungeti CU SIGURANTA la doua numere foarte apropiate... pe care cred ca puteti face cautare binara (sau chiar scaderi repetate) ca sa le aflati catul si asta ar fi prima cifra a rezultatului... si tot repetati algoritmul ;)


Titlul: Răspuns: operatii pe numere mari
Scris de: Spulber Iosif din Martie 23, 2007, 12:25:06
Heh, am incercat si eu am facut adunare, scadere, inmultire cu o cifra, inmultire, factorial, putere adica tot care sa nu aiba impartire.

Ideea cu scaderi cade: scade tu de 10^200 ori 1 din 10^200. Asta nu e deloc randament. Trebuie sa te gandesti EXACT cum faci tu o impartire pe hartie, cum a zis Sima Cotizo.

Dupa impartire ai acces si la aranjamente, combinari...


Titlul: Răspuns: operatii pe numere mari
Scris de: Andrei Homorodean din Martie 25, 2007, 20:09:33
Nu comparam, ofeream alternative..  Daca nu ai timp sa implementezi chestia cu cautarea binara in concurs, sa poti apela la o solutie mai simpla, mai lenta, dar care merge sigur.. Si nu ziceam ca e mai lenta cautarea binara decat chestia simpla, ziceam ca e destul de lenta cautarea binara in acest caz pentru ca tre sa faci inmultiri pe numere mari, adica de fiecare data mai arunci un n*m..


Titlul: Răspuns: operatii pe numere mari
Scris de: Savin Tiberiu din Martie 25, 2007, 20:30:17
da dar e mult mai lent sa faci scaderi.