![]() |
| ||||||||
| Thread Introduction |
| Important: cand postati solutiile, folositi tag-ul SPOILER ! Se foloseste asa: [SPOILER="solutie la problema cutare"] .... solutia problemei .... [/SPOILER] Sau daca nu, macar scrieti solutia mai discret, cu fonturi cat mai mici si decolorate - desi recomand solutia cu SPOILER, pentru ca la cei care folosesc alte skin-uri la forum, scrisul cu alb poate fi perfect vizibil. Lasati si altora placerea sa se lupte cu problema respectiva ! |
![]() |
| | LinkBack | Thread Tools |
| | #202 (permalink) | ||
| Registered User Join Date: Oct 2001 Location: V16 |
Nu s-a vrut o olimpiada de matematica,dar vad ca pacilea care mai de care se da cocos
__________________ "Cu cat obstacolul este mai mare, cu atat mai mult ne obliga sa ne autodepasim" Regina Chli-pou-ni [FURNICILE] | ||
|
| | #203 (permalink) | ||
| Registered User Join Date: Dec 1999 |
nu e cine stie ce formula demonstrata prin inductie cum ar trebui dar am vazut ca la cele 3 cazuri enumerate, daca fac tangenta dreptei descrise de graficul valorilor, diferenta oricaror doua valori alaturate (de fapt doar 2 de aia s-ar putea sa ma insel, daca erau trei eram mult mai sigur) se inscrie intr-o progresie aritmetica, asa ca am zis si eu ca 40 ar fi corect...CD chiar te-as ruga sa verifici sa-mi zici daca am avut noroc de curiozitate ca, repet, nu am avut chef sa stau sa verific cum se face amanuntit, adica raspunsul nu e nu matematic ci intuitiv... | ||
|
| | #204 (permalink) | ||
| sa incerc shi io o solutzie
Voi considera ca solutzia lui cd este cea corecta shi voi incerca sa gasesc o formula. Voi incerca sa impart cele n betze in 3 grupe cit "mai egale". Le distribui pe trei directzii, betzele din acelashi grup fiind paralele intre ele shi formind un unghi de fix 60 grade cu oricare alt batz din alta grupa (v. desenul lui cd). Sa notam cele 3 grupe A B C. Betzele se adauga pe rind (intii in A, apoi in B...). Daca la un moment dat am k betze astfel ashezate prin adaugarea unui nou batz apar atitea triunghiuri echilaterale noi cit face produsul dintre numarul de betze din celelalte 2 grupe. Asta pt ca orice pereche de betze pe care o intersecteaza noul batz formeaza un nou triunghi, iar betzele din aceeashi grupa is paralele cu el. Ex: A:2 betze B:2, C:2; urmeaza sa adaug un batz in A. se formeaza 4 noi triunghiuri (B*C). (ash atasha shi poza daca ash shti cum ![]() Acestea fiind zise, iata ce se obtzine: [code] k A B C N ====================================================== 0 0 0 0 0 1 1 0 0 0 2 1 1 0 0 3 1 1 1 1 4 2 1 1 2 5 2 2 1 4 6 2 2 2 8 7 3 2 2 12 8 3 3 2 18 9 3 3 3 27 10 4 3 3 36 11 4 4 3 48 12 4 4 4 64 13 5 4 4 80 14 5 5 4 100 [/code] Urmatorul program C implementeaza ce am zis mai sus: [code] #include <iostream.h> void main(void) { long double k,n=0,a=0,b=0,c=0, tmp; cout<<endl<<"Cite betze? "; cin>>k; for(;k;k--) { n+=b*c; tmp=c; c=b; b=a+1; a=tmp; } cout<<" "<<n<<" triunghi(uri)"; } [/code] Formula cautata este deci suma (partziala!) a seriei 0+0+0+1+1+2+4+4+6+9+9+12+16+16+20+.... ooops m-am inecat ca tziganu la mal . Asta e probl de cls a XI-a, dar nu shtiu s-o rezolv ![]() Termenul general este t(k)=p*(p+1) daca k e de forma 3p+2 shi p^2 in rest (p= citul impartzirii lui k la 3) Se shtie formula pt suma din p^2 (=?) iar formula pt suma din p*(p+1)=p^2+p se deduce din prima + suma din p (intre 0 shi m)care e m(m+1)/2. Formula finala va avea 3 ramuri (dupa restul la impartzirea la 3). I mi pare rau ca nu am finalizat calculele dar daca aflu suma din p^2 (formula e in cartea de analiza de a XI-a) nu mai dureaza mult
__________________ There are 10 kinds of people in this world: those who understand binary, and those who don't... | |||
|
| | #205 (permalink) | ||
| Registered User Join Date: Oct 2001 Location: V16 | Oau pazer!
Bai frate se vroia o simpla intrebare de logica nu trebuia sa iti tocesti nervii in halu asta, daca tot nu ai ce face si vrei sa iti omori neuronii incearca sa gasesti un mod de comunicare cu delfinii sau ma simplu calculeaza distanta din Bucuresti pana la Pitesti in pioneze puse una langa cealalta ;stiind ca raza unei pioneze este jumatate din inaltimea unei omizi dalea verzi si paroase de-ti cad vara-n cap
__________________ "Cu cat obstacolul este mai mare, cu atat mai mult ne obliga sa ne autodepasim" Regina Chli-pou-ni [FURNICILE] | ||
|
| | #210 (permalink) | ||
| re mariko
drept sa spun nici io nu is multzumit de argumentele (cu mushchi :P) de mai sus, dar programul care l-am postat mai sus face 1.000.000 (in litere unu buc milion) de incercari shi folosind definitzia probabilitatzilor imparte numarul de cazuri favorabile la numarul de cazuri totale shi obtzine 66,6676%. Pt cei care nu cred in astfel de programe sa incerce sa faca 1.000.000 de incercari (cu calcu hint hint) de a plasa un punct intr-un patrat de latura 2r shi sa vada cite din puncte sunt shi in cercul de raza r inscris in patrat. Ca o problema: care este probabilitatea ca un astfel de punct din patrat sa fie shi in cerc? (asta e o metoda probabilistica de a determina o constanta matematica hint, hint Daca facetzi programul o sa fitzi surprinshi cite zecimale exacte obtzinetzi!PS: programul cu bila l-am facut in sperantza ca nu va da rezultat tot 66%...
__________________ There are 10 kinds of people in this world: those who understand binary, and those who don't... | |||
|
| | #211 (permalink) | ||
|
Esti tare cu programul tau, insa te asigur ca ignoranta se datoreaza faptului ca nu am studiat probabilitatile la fel de mult ca tine(de fapt, doar vreo 5-6 ore de mate printr-a 6-a). Ergo, habar nu am despre ce vorbesti, dar am impresia ca stii tu ce spui. Sper ca in vreo 3 ani(4 cel mult) sa ajung sa te intzeleg.De fapt poate ca mai devreme ca mi-ai trezit interesul pentru probabilitati... | |||
|
| | #212 (permalink) | ||
|
Au fost odata doua numere integi care erau mai mari ca 1 si mai mici ca 100 si de asemenea doi colegi: A si B. A invatase produsul numerelor si colegul sau B suma lor. Intr-o seara A il suna pe prietenul sau: 1) Nu stiu cele doua numere, zice A ! 2) Stiu ca nu le poti sti, zice B! 3) Ah, acum le stiu! a spus A dupa o clipa. 4) Stai! Si eu le stiu acum, a spus B dupa o pauza. Gasiti numerele. ( Argumentati, va rog ! )
__________________ "..azi nimic, maine de doua ori mai mult.." Al Bundy | |||
|
| | #215 (permalink) | ||
|
Jiggy, in primul rand, enuntul tau nu e intrutotul corect. E vorba de numere intre 2 si 100, nu intre 2 si 99 cum ai spus tu. Desi asta pare un detaliu neimportant, in versiunea corecta problema are o singura solutie, pe cand in versiunea ta are doua solutii distincte. Programul cu care am "rezolvat" eu problema nu face decat sa considere toate perechile de numere intre 2 si 100, si sa le elimine pe cele care nu corespund conditiilor problemei, printr-o metoda cat se poate de ciobaneasca (parcurgere exhaustiva, proces sumar si executie in piata publica). Conditiile sunt: 1. Nu stiu numerele = produsul nu se descompune in mod unic in doi factori; 2. Stiu ca nu le poti sti = nici una dintre perechile de termeni in care se descompune suma nu duce la un produs care se descompune in mod unic in doi factori (adica toate perechile de termeni in care se descompune suma au un produs cu proprietatea de la punctul 1); 3. Ah, acum le stiu = produsul se descompune in mod unic in doi factori a caror suma are proprietatea de la punctul 2; 4. Acum le stiu si eu = suma se descompune in mod unic in doi termeni al caror produs respecta conditia de la punctul 3. Programul porneste cu multimea celor 9801 perechi posibile (reprezentate sub forma de vector caracteristic, mai exact matrice caracteristica 99*99) si, pe rand, aplica una dintre conditii ca sa obtina multimea de perechi care o satisfac, apoi intersecteaza rezultatul cu multimea de perechi care au satisfacut toate conditiile anterioare. In cele din urma, raman una sau doua perechi (pentru simplitate, programul considera perechi ordonate, asa ca, de exemplu, (4, 13) si (13, 4) sunt distincte). [CODE]#include <stdio.h> #include <memory.h> #define M 2 #define N 100 char a[N + 1][N + 1]; // a[x][y] reprezinta prima conditie pe care perechea (x, y) n-o respecta void Cond1() { // 1. produsul nu se descompune in mod unic in doi factori for (int x = M; x <= N; x++) { for (int y = M; y <= N; y++) { int p = x * y; // produsul int count = 0; for (int k = M; k * k <= p; k++) { if (p % k == 0) // se descompune in factorii k si p / k { count++; // numara descompunerile if (count > 1) // doua descompuneri sunt suficiente break; } } if (count <= 1) // cel mult o descompunere? a[x][y] = '1'; // atunci nu respecta conditia 1 } } } void Cond2() { // 2. toate descompunerile sumei respecta conditia 1 for (int x = M; x <= N; x++) { for (int y = M; y <= N; y++) { if (a[x][y] <= '1') // pereche deja eliminata? continue; int s = x + y; // suma for (int k = 2; 2 * k <= s; k++) // se descompune in termenii k si s - k { if (a[k][s - k] <= '1') // termenii nu respecta conditia 1 { a[x][y] = '2'; // atunci nu respecta conditia 2 break; } } } } } void Cond3() { // 3. exista o singura descompunere a produsului care respecta conditia 2 for (int x = M; x <= N; x++) { for (int y = M; y <= N; y++) { if (a[x][y] <= '2') // pereche deja eliminata? continue; int p = x * y; // produsul bool desc = false; for (int k = M; k * k <= p; k++) { if (p % k == 0) // se descompune in factorii k si p / k { if (a[k][p / k] > '2') // factorii respecta conditia 2 { if (desc) // nu e prima astfel de descompunere { a[x][y] = '3'; // atunci nu respecta conditia 3 break; } desc = true; } } } } } } void Cond4() { // 4. exista o singura descompunere a sumei care respecta conditia 3 for (int x = M; x <= N; x++) { for (int y = M; y <= N; y++) { if (a[x][y] <= '3') // pereche deja eliminata? continue; int s = x + y; // suma bool desc = false; for (int k = M; 2 * k <= s; k++) // se descumpune in termenii k si s - k { if (a[k][s - k] > '3') // termenii respecta conditia 3 { if (desc) // nu e prima astfel de descompunere { a[x][y] = '4'; // atunci nu respecta conditia 4 break; } desc = true; } } } } } void Dump() { printf(" "); for (int y = M; y < 78; y++) printf("%d", y % 10); putchar('\n'); for (int x = M; x < 25; x++) { printf("%2d ", x); for (int y = M; y < 78; y++) putchar(a[x][y]); putchar('\n'); } getchar(); } int main(int argc, char* argv[]) { // initializeaza a[][] cu ceva mai mare decat '4' memset(a, '_', sizeof a); // aplica conditiile Dump(); Cond1(); Dump(); Cond2(); Dump(); Cond3(); Dump(); Cond4(); Dump(); // gaseste rezultatele printf("Perechi corecte:"); for (int x = M; x <= N; x++) for (int y = M; y <= N; y++) if (a[x][y] > '4') printf(" (%d, %d)", x, y); printf("\n"); return 0; } [/CODE]
__________________ In afara cainelui, cartea este cel mai bun prieten al omului (inauntrul cainelui e prea intuneric ca sa citesti). | |||
|
| | #216 (permalink) | ||
| Registered User Join Date: May 2000 |
Incepe sa fie ca-n Sahara pe aici. Adica... au... ce chestii aride. ![]() (Desi, sunt de acord cu principiul in sine: munca e pentru tractoare ...aaaa, calculatoare.) Brain-teaser, brain-teaser, dar it's supposed to be fun! macar un picut! Mai distrati-va si cu ceva nu-foarte-programabil, oameni buni... de exemplu... Marcati colturile unui patrat folosind numai un compas, cu minimum de "manevre". Facut, dres, mazgalit: opt pasi. (Opt cercuri sau arce de cerc.) Doboara cineva recordul? | ||
|
| | #218 (permalink) | ||
|
Problema bestiala. Mai vreau! [tropait frenetic] Mi-a iesit din sapte. De fapt, nu stiu: daca iau o distanta intre doua puncte in compas, si fac cu ea un arc altundeva (centrul nu e unul dintre cele doua puncte), se numara o miscare, sau doua? Daca sunt doua, atunci mi-a iesit din opt, insa arce sunt sapte. Cred ca o s-o rapesc pe Queen of Blades, o s-o tin inchisa in turn, si o s-o pun sa-mi faca o problema in fiecare zi (si daca vine Fat-Frumos s-o salveze, o sa ma uit urat la el si sper sa se sperie). | |||
|
| | #220 (permalink) | ||
| Registered User Join Date: May 2000 |
Se numara numai cercurile trasate (cel putin asa am numarat eu). Ce faci cu obiectele aflate la dispozitie intre timp -- deschizi/stringi compasul, te intepi cu el, desenezi dracusori pe marginea foii, iti rozi unghiile (asta nu! muncesc prea mult la ele ), nu se pune la socoteala.
| ||
|
| Advertisment | |
Cumpără jocuri prin SMSRapid si sigur! | |
![]() |
|
| Thread Tools | |
| |