Problemele interesante de pe pbinfo sau de pe alte site nu sunt explicate aprope deloc. Nu exista idea explicarii pe intelesul tuturor a unor algoritmi interesanti, optimizati si eficienti. In activitatea de programator, munca de creare a unor algoritmi cat mai eficienti este din ce in ce mai ceruta si mai greu de realizat. In…
Read MoreNe punem problema cum se determina divizorii unui numar dat si cati divizori are un numar dat? Prima problema care iti cer sa o abordezi aici este de a stabili care sunt divizorii unui numar nr citit de la tastatura. De exemplu 24 are divizorii 1, 2, 3, 4, 6, 8, 12, 24. Ar trebui sa parcurgi tot intervalul de valori de la 1 la `nr` ca sa gasesti toate aceste numere. Daca observi insa ca aceste numere apar in pereche, deci daca parcurgi numai pana la jumatate intervalul si gasesti un divizor `d`, atunci sigur si `nr/d` va fi un divizor. Optimizeaza si mai mult si cauta numai pana la parte intreaga din radical din numar. Daca nu gasesti pana acolo un divizor, nu vei gasi nici mai departe. Algoritmul in pseudocod este: ALGORITM DIVIZORI ESTE: CITESTE nr; PENTRU (d=1; d*d<n;…
Read MoreCum calculam aria unui trapez oarecare daca se cunosc laturile trapezului? Problema se poate gasi pe site pbinfo – #Arie trapez Cerința Se dau lungimile laturilor unui trapez ABCD cu AB||CD. Aflati aria acestuia. Date de intrare Programul citește de la tastatură lungimile laturilor AB, BC, CD, AD. Date de ieșire Programul va afișa pe ecran numărul A reprezentand aria trapezului,…
Read MoreAceasta este de asemenea o problema interesanta de pe pbinfo de dificultate medie cu numarul #3738. Doru s-a mutat în New York și își caută o nouă locuință specială în perimetrul străzilor numerotate cu numerele distincte de la 1 la n. Fiind pasionat de matematică, el vrea să se mute pe strada în care cel mai mare divizor…
Read MoreDaca suntem putin atenti in momentul cand rezolvam probleme de pe pbinfo, vom vedea ca unele probleme sunt inrudite. M-am gandit sa abordez o astfel de suita de 3 probleme asemanatoare: Problema #327 AfisareNumere Cerinţa Se dă un număr natural n. Afișați în ordine crescătoare primele n numere naturale nenule. Date de intrare Programul citește de la tastatură…
Read MoreOperatii pe multimi de numere naturale este un subiect interesant care merita discutat. Se dau 2 multimi de numere naturale A si B cu maxim 200000 de elemente mai mici de 1000000000. Determinati diferenta A-B, reuniunea, intersectia si diferenta simetrica a celor doua multimi. Problema poate fi gasita si pe site pbinfo cu numarul #3974.…
Read MoreMatematica si programarea sunt strans legate intre ele. Se poate invata informatica fara matematica? Daca deschizi orice carte de informatica, te vei convinge in cateva momente, ca matematica este prezenta peste tot. Marea dilema a multora dintre cei care se gandesc sa invete programare este: am nevoie de matematica? Trebuie sa invat matematica, sau se…
Read MoreRezolvarea problemei Hidden Number de pe site pbinfo cu explicatii: Cerința Se citesc din fișier numere naturale. Determinați un număr x astfel încât dacă scădem din x pe rând fiecare număr citit atunci suma diferențelor să fie 0. Se va afișa numărul determinat sau -1, dacă un astfel de număr nu există. Date de intrare Fișierul de intrare `hidden_number.in` conține pe prima linie…
Read MoreProblema #3188 Mate (pbinfo) Cerința Iarina a auzit la ora de matematica de numere triangulare. Un numar se numeste triangular daca se scrie ca suma primelor k numere naturale. Doamna profesoara le-a propus sa rezolve pentru acasa urmatoarea problema: Determinati toate numerele triangulare care sunt patrate perfecte. Iarina va roaga sa o ajutati sa rezolve…
Read MoreProblema „Zodiacul” poate fi enuntata extrem de simplu: Se citeste o data calendaristica corecta prin zi si luna si se cere sa se stabileasca in ce zodie se gaseste acea data calendaristica. Problema este o aplicatie foarte utila pentru introducerii structurii SELECTEAZA…SFARSIT_SELECTEAZA in partea de invatare a algoritmicii. Prezentarea noastra va folosi un program in…
Read More