[8] Concurs - Fractii

[8] Concurs - Fractii

Postby Mihai » 14 Jun 2011, 00:13

Fracții

Se citește un număr rațional strict pozitiv X din fișierul bitcell8.in. Știind că X are maximum 10 cifre(înainte și după virgulă, în total) să se afișeze în fișierul bitcell8.out perechea de numere naturale (A,B) pentru care X=A/B și |A-B| este minimum.

Date de intrare:
O singură linie care conține numărul X.

Date de ieșire:
O singură linie care va conține numerele A și B separate printr-un spațiu.

Exemplu
Dacă în fișierul de intrare avem numărul "0.4", se va afișa "2 5".

Perioada de desfășurare:
13-18 Iunie - înscrierea în concurs
19 Iunie - desemnarea câștigătorului
0,0p / 0 votes
User avatar
Mihai
Byte
 
Joined: 29 Dec 2009
Status: 25

Re: [8] Concurs - Fracții

Postby cata45 » 14 Jun 2011, 11:22

Executabilul: in atasament.

Este compilat pentru a accepta input de la tastatura.
1p / 1 votes
Attachments
bitcell8_cata45.rar
(234.82 KiB) Downloaded 31 times
The EARTH without ART is just EH.
User avatar
cata45
Byte
 
Joined: 02 Sep 2010
Status: 9

Re: [8] Concurs - Fracții

Postby eni4ever » 14 Jun 2011, 17:12

Soluția mea : in atasament.

Frumusețea acestei soluții este aceea că nu există limită la numărul fracționar citit cât și la numitorul/numărătorul fracției rezultate! Drept urmare, în arhivă aveți atașat un test cu un număr de aprox 1000 de cifre în stânga virgulei și 3000 de cifre în dreapta ei.

Bine, nimic nu este fără limită. Numărul de cifre maxim ce se poate afla în numărător/numitor este de 2^333 [=1.74980058 × 10^100] care este mai mare decât un googol[10^100], dar nu vă faceți grijă : se va termina mai repede universul până veți apuca să introduceți un așa număr în sistem :)).

Aplicația a fost construită în C++ uzitând de biblioteca NTL sub GCC-ul de cygwin-4.3.0 (de aici vine și mărimea).
Sper să nu aveți probleme să o rulați! [nu-i cunosc toate dependențele de sistem]
3p / 1 votes
Attachments
concurs_bcFractii.rar
(900.84 KiB) Downloaded 28 times
Image

"Rațiunea vine în umbre scurte numite suferințe." Victor Adăscăliței
"Bender: Anything less than immortality is a complete waste of time.
Zoidberg: Then suicide it is! Step into my office ..." Futurama S06E06
User avatar
eni4ever
DWord
 
Joined: 03 Jan 2010
Location: Timișoara
Status: 57.83

Re: [8] Concurs - Fracții

Postby DarkByte » 14 Jun 2011, 17:16

Solutia mea : in atasament.
1p / 1 votes
Attachments
DB_bitcell_8.rar
(20.68 KiB) Downloaded 25 times
User avatar
DarkByte
11011011
 
Joined: 29 Dec 2009
Status: 140

Re: [8] Concurs - Fracții

Postby sharky92 » 14 Jun 2011, 18:27

Vin si eu cu tema facuta , mai bine mai tarziu decat niciodata :D
Executabilul: in atasament.
1p / 1 votes
Attachments
bitcell8-sharky92.rar
(51.59 KiB) Downloaded 19 times
Last edited by sharky92 on 14 Jun 2011, 23:12, edited 2 times in total.
User avatar
sharky92
Bit
 
Joined: 09 Nov 2010
Status: 2

Re: [8] Concurs - Fracții

Postby Payne » 17 Jun 2011, 10:17

Varianta mea. Se face prin command line.

Executabilul : in atasament.
1p / 1 votes
Attachments
Concurs08-payne.rar
(2.57 KiB) Downloaded 25 times
Suit up!

Image
User avatar
Payne
Byte
 
Joined: 04 Jan 2010
Location: 0x7C00
Status: 17

Re: [8] Concurs - Fractii

Postby Mihai » 21 Jun 2011, 00:20

Salutări și scuze de întârziere, am fost concentrat pe alte lucruri și am cam uitat că acest concurs s-a încheiat și că trebuia să anunț câștigătorul. Din păcate, nici unul din programele postate nu este corect în totalitate, deși, în principiu, cam toți ați fost pe ideea bună (nu am analizat toate codurile pentru că nu am avut timp, dar cam așa părea din ceea ce ați afișat). Demn de menționat este faptul că programul lui cata45 este singurul care funcționează corect cu numerele naturale - toți ceilalți ați omis acest caz banal din păcate.

În continuare, puteți vedea testul pe care programul vostru l-a interpretat greșit (câte unul singur este afișat pentru fiecare participant, chiar dacă a greșit mai multe):

  • cata45: 777.3337737
  • DarkByte: 22.333
  • Eni4ever: 7
  • Payne: 7
  • Sharky: 777.3337737

Criteriul după care am ales câștigătorul (soluțiile fiind incorecte) a fost flexibilitatea: mi-a plăcut că a încercat să ridice ștacheta, programul lui returnând rezultatul corect pe numere oricât de lungi atâta timp cât nu sunt naturale. Felicitări eni4ever!
Ca și fapt divers, următoarea alegere ar fi fost programul lui cata45, care s-a comportat foarte bine (până la un anumit punct).
Pentru studiu, aveți sursele în arhiva atașată.

Felicitări tuturor! Mâine veți primi cu toții punctele câștigate - acum sunt prea obosit și mi-e prea lene. Până când câștigătorul va posta noua temă, aruncați un ochi și pe celălalt concurs.

Atenționare pentru payne și cata45: data viitoare încercați să respectați condițiile impuse în problemă. Dacă în enunț scrie foarte clar din ce fișier se va realiza citirea și în ce fișier se va afișa rezultatul, gândiți-vă că probabil cel care a propus-o avea de gând să evalueze totul automat și nu avea în plan să facă pentru fiecare program câte un evaluator!
0,0p / 0 votes
Attachments
src.zip
(1.12 MiB) Downloaded 32 times
User avatar
Mihai
Byte
 
Joined: 29 Dec 2009
Status: 25


Return to Concursuri de programare desktop

Who is online

Users browsing this forum: No registered users and 0 guests

cron