|
Titlul: 303 Patrate 3 Scris de: Adrian Diaconu din Ianuarie 21, 2007, 23:56:46 Aici puteţi discuta despre problema Patrate 3 (http://infoarena.ro/problema/patrate3).
Titlul: Raspuns: 308 Patrate3 Scris de: Stefan-Alexandru Filip din Ianuarie 24, 2007, 19:24:32 Am incercat sa rezolv problema ca la carte, cu numere intregi, evitand astfel orice fel de erori de precizie. Numarul citit l-am inmultit cu 10000 si mai apoi cu inca 10, pentru a nu avea probleme la impartirea la 2. Astfel valoarile variaza intre [-109, 109] si prin toate operatiile nu se trece de 2 * 109 (cred...). Problema mea este ca respectiva sursa ia doar 5 puncte. Am modificat structura sa lucreze cu numere de tip float, citirea si functia de comparatie, si am luat 100 de puncte :o.
Acum, nu stiu ce sa cred. Citirea numerelor in primul caz o faceam astfel Cod: const int ZEC = 10000; Titlul: Raspuns: 308 Patrate3 Scris de: Andrei Grigorean din Ianuarie 24, 2007, 19:50:31 daca numarul e negativ trebuie sa scazi partea fractionara.
Titlul: Raspuns: 308 Patrate3 Scris de: Stefan-Alexandru Filip din Ianuarie 24, 2007, 19:54:54 Multumesc.
Titlul: Raspuns: 308 Patrate3 Scris de: Bogdan-Cristian Tataroiu din Ianuarie 24, 2007, 20:52:22 Ai grija cum citesti -0.3 de asemenea :P cand citesti -0 cu %d o sa-ti dea u = 0 si o sa crezi ca numarul e pozitiv..
Oricum .. nu inteleg de ce trebuie sa te chinui asa.. la problema asta iti trebuie o inmultire si o scadere.. nu prea ai cum sa ai probleme de precizie... Titlul: Raspuns: 308 Patrate3 Scris de: Barca Cristian Mihai din Ianuarie 24, 2007, 21:19:31 Si eu am avut o problema asemanatoare...luam 60p (4 TLE) si aveam variabile de tip double (cautare pe double, comparare pe double)...cand am schimbat in float am luat 85...si cand am schimbat si ABS-ul de mana cu fabs am luat 100... :-k
Aveti vreo idee de ce s-a intamplat asta? Titlul: Raspuns: 308 Patrate3 Scris de: Bondane Cosmin din Ianuarie 24, 2007, 21:47:00 probabil faceai 'abs de mana' gresit, cel mai sigur ii sa il folosesti cel predefinit
apropo eu am folosit double si a mers fara probleme. Titlul: Raspuns: 308 Patrate3 Scris de: Daniel Pasaila din Ianuarie 25, 2007, 21:53:57 Merge foarte bine cu numere reale de orice tip, nu cred ca e esential daca folosesti float sau double. Am dat-o pe numere reale ca sa fac mai usor testele, nu ca sa o fac mai grea:)
Titlul: Răspuns: 303 Patrate 3 Scris de: Savin Tiberiu din Februarie 12, 2007, 11:45:45 care sunt cele 2 patrate din exemplu?? ma intereseaza numerele de ordine ale punctelor dak mi le puteti da.
Titlul: Răspuns: 303 Patrate 3 Scris de: Bondane Cosmin din Februarie 12, 2007, 19:44:43 Uite exact punctele.
pt primul : 9.100000 26.510000 35.930000 34.870000 26.695000 17.275000 18.335000 44.105000 pt al doilea : 49.150000 50.690000 91.320000 13.360000 51.570000 10.940000 88.900000 53.110000 Titlul: Răspuns: 303 Patrate 3 Scris de: Ionescu Robert Marius din Februarie 04, 2008, 15:13:17 Am incercat sa rezolv problema astfel: iau oricare 2 puncte si folosesc o cautare binara pentru a cauta celelalte 2 puncte cu care pot forma un patrat ..nushtiu ce gresesc..iau doar 70 ,am trecut in long si am inmultit cu 10000 si tot 70 pct..sa fie cumva o greseala in program? :sad: :peacefingers:
Titlul: Răspuns: 303 Patrate 3 Scris de: Andrei Purice din Februarie 04, 2008, 16:34:09 tu cum consideri cele 2 puncte pe care le iei din prima , ca fiind diagonala sau ca fiind o latura? ca daca le iei ca fiind o latura ai grija ca ai 2 optiuni pentru celelalte una intr-o parte una in cealalata :wink:
Titlul: Răspuns: 303 Patrate 3 Scris de: Bondane Cosmin din Februarie 04, 2008, 16:44:18 Incearca si ideea de aici daca nu merge : http://infoarena.ro/preoni-2007/runda-1/solutii
Titlul: Răspuns: 303 Patrate 3 Scris de: Ionescu Robert Marius din Februarie 04, 2008, 18:10:54 imi cer scuze ..am uitat de solutii :( :aha:
pentru Protoman: o iau ca fiind latura si am luat in considerare cele 2 cazuri , adik elimin un caz dupa sortare Titlul: Răspuns: 303 Patrate 3 Scris de: Sergiu-Ioan Ungur din Februarie 28, 2009, 16:28:11 Am o problema cu problema asta. Nu stiu de ce nu imi compara bine variabilele reale (am incercat si cu float si cu double). Am mers in borland pas cu pas si imi arata ca 26.695 > 26.695 :-k. Ma poate ajuta cineva?
Titlul: Răspuns: 303 Patrate 3 Scris de: Dragos Oprica din Februarie 28, 2009, 16:42:20 probabil daca faci o functie de comparare va merge
Cod: int compara (double a,double b) sper sa fiu de ajutor :D Titlul: Răspuns: 303 Patrate 3 Scris de: Sergiu-Ioan Ungur din Februarie 28, 2009, 17:24:46 Mersi :yahoo: ! Pana la urma am facut'o de 100, folosind functia de comparare. Dar totusi as vrea sa stiu de ce nu compara bine numerele reale.
Titlul: Răspuns: 303 Patrate 3 Scris de: Emanuel Cinca din Februarie 28, 2009, 17:28:09 fiindca numerele reale au prea multe zecimale pentru a le afisa... si prin rotunjire ajung egale... de ex a=2,669 si b=2,668... a>b, dar luand doar 2 zecimale a=2,67 si b=2,67... sper ca ai inteles ce am vrut sa zic aici :P
Titlul: Răspuns: 303 Patrate 3 Scris de: Sergiu-Ioan Ungur din Martie 03, 2009, 14:31:12 Mersi! :)
|