Sunteți pe pagina 1din 21

intensiv

SUBIECT E_INFO_INTENSIV_C_SIII_001 E_INFO_ INTENSIV_PASCAL_SIII_001 ITE M 3 INDICAII O posibil soluie citete de la tastatur numrul n i apoi toate numerele din fiier; pentru fiecare dintre ele testeaz condiia impus, iar dac aceasta este ndeplinit,a fieaz pe ecran numrul respectiv, n formatul cerut. a) O posibil soluie pentru prelucrarea cerut presupune parcurgerea tabloului, compararea fiecrui element cu valoarea lui a i contorizarea celor care ndeplinesc condiia impus. b) O posibil soluie presupune citirea numerelor de la tastatur, apoi, pentru fiecare numr ai se calculeaz numrul elementelor mai mici dect ai, respectiv ai+1; dac diferena celor dou numere gsite este diferit de 1, rezult c tabloul nu respect cerina impus. O posibil soluie presupune citirea numerelor din fiier, memorarea celor nenule ntr-un tablou care apoi se ordoneaz cresctor; in final, tabloul ordonat se afieaz pe ecran. a) O posibil soluie pentru prelucrarea cerut presupune parcurgerea tuturor divizorilor posibili ai lui a, pentru fiecare divizor gsit determinndu-se puterea la care acesta apare n descompunerea n factori primi; numrul a este mprit succesiv la acest divizor. Fiecare putere astfel determinat este nsumat, rezultatul fiind valoarea returnat de funcie. b) pentru numrul citit se construiesc numerele obinute prin permutarea cifrelor acestuia i, apelnd funcia f, se testeaz dac acestea sunt numere sunt prime (suma exponenilor este 1). O posibil soluie presupune utilizarea unui vector caracteristic, completat pe msur ce se citesc numerele din fiier. Vectorul se parcurge ncepnd de la indicele 100 i se vor afia indicii elementelor nenule, de un numr de ori corespunztor. a) o posibil soluie pentru prelucrarea impus presupune parcurgerea cifrelor numrului, contoriznd numrul apariiilor cifrei cerute. b) o posibil soluie presupune cutarea tuturor cifrelor de la 9 la 0 n numrul dat; dac o astfel de cifr apare de un numr par de ori, ea poate fi inclus n palindrom, altfel acest lucru nu este posibil. O posibil soluie presupune utilizarea unui vector caracteristic, completat pe msur ce se citesc numerele din fiier. Vectorul se parcurge de la dreapta la stnga, ncepnd de la indicele 99 i se vor afia indicii elementelor nenule, de un numr de ori corespunztor. a) o posibil soluie pentru prelucrarea impus presupune parcurgerea cifrelor numrului, contoriznd numrul apariiilor cifrei cerute. b) o posibil soluie presupune cutarea tuturor cifrelor de la 1 la 9, i includerea, de un numr de ori corespunztor, n numrul cerut, a acelor cifre impare care apar n numrul dat. O solutie posibil pentru prelucrarea cerut presupune ndeprtarea din numrul dat a cte unei cifre (a

E_INFO_INTENSIV_C_SIII_001 E_INFO_ INTENSIV_PASCAL_SIII_001

E_INFO_INTENSIV_C_SIII_002 E_INFO_ INTENSIV_PASCAL_SIII_002 E_INFO_ INTENSIV_C_SIII_002 E_INFO_ INTENSIV_PASCAL_SIII_002

E_INFO_ INTENSIV_C_SIII_003 E_INFO_ INTENSIV_PASCAL_SIII_003

E_INFO_ INTENSIV_C_SIII_003 E_INFO_ INTENSIV_PASCAL_SIII_003

E_INFO_ INTENSIV_C_SIII_004 E_INFO_ INTENSIV_PASCAL_SIII_004

E_INFO_ INTENSIV_C_SIII_004 E_INFO_ INTENSIV_PASCAL_SIII_004

E_INFO_ INTENSIV_C_SIII_005

E_INFO_ INTENSIV_PASCAL_SIII_005 E_INFO_ INTENSIV_C_SIII_005 E_INFO_ INTENSIV_PASCAL_SIII_005 4

E_INFO_INTENSIV_C_SIII_006 E_INFO_INTENSIV_PASCAL_SIII_006 E_INFO_INTENSIV_C_SIII_006 E_INFO_INTENSIV_PASCAL_SIII_006 E_INFO_INTENSIV_C_SIII_007 E_INFO_INTENSIV_PASCAL_SIII_007

3.

4.

3.

E_INFO_INTENSIV_C_SIII_007 E_INFO_INTENSIV_PASCAL_SIII_007

4.

E_INFO_INTENSIV_C_SIII_008 E_INFO_INTENSIV_PASCAL_SIII_008

3.

E_INFO_INTENSIV_C_SIII_008 E_INFO_INTENSIV_PASCAL_SIII_008

4.

E_INFO_INTENSIV_C_SIII_009 E_INFO_INTENSIV_PASCAL_SIII_009

3.

E_INFO_INTENSIV_C_SIII_009 E_INFO_INTENSIV_PASCAL_SIII_009

4.

unitilor) i scrierea n fiierul dat a numerelor obinute, n formatul cerut. a) o posibil soluie a prelucrrii cerute presupune testarea divizorilor posibili ai numrului a i returnarea celui mai mic dintre acetia, care l divide pe a. b) o posibil soluie presupune citirea numerelor i testarea propriettii cerute pentru fiecare dintre ele (un numr este prim dac el este egal cu cel mai mic divizor prim al su). Numerele prime sunt memorate ntr-un tablou care apoi este ordonat cresctor, i afiat. O rezolvare posibil citete de la tastatur valoarea lui n i elementele tabloului unidimensional. Se parcurg elementele tabloului i se determin sumele cerute, afindu-se n formatul precizat. Pentru citirea numerelor din fiier vor fi folosite dou variabile simple ce rein termenul citit anterior i termenul citit la pasul curent. Complexitatea algoritmului este O(n), unde n reprezint numrul de termeni ai irului. O rezolvare posibil citete de la tastatur valoarea lui n i elementele tabloului unidimensional. Determin poziia primului element par din zona 1 i a ultimului element impar din zona 3 i apoi interschimb cele dou elemente dac exist. Elementele tabloului vor fi afiate n fiierul BAC.TXT n formatul cerut. a) Se va scrie definiia complet a subprogramului p. Pentru antetul subprogramului p se va alege corespunztor tipul de subprogram, tipul parametrilor i modul de transfer al acestora. Se vor folosi identificatorii de subprogram i de parametri formali specificai n enun. b) Prin apeluri ale lui p se determin cel mai mare numr mai mare sau egal cu n, se afieaz acesta i apoi se scade din n valorea gsit. Procedeul se repet pn cnd n devine egal cu 0. Pentru antetul subprogramului sub se va alege corespunztor tipul de subprogram, tipul parametrilor i modul de transfer al acestora. Se vor folosi identificatorii de subprogram i de parametri formali specificai n enun. Subprogramul citete n numere naturale, verific pentru fiecare valoare citit dac este ptrat perfect calculeaz i returneaz suma ptratelor perfecte citite. Se parcurg simultan cei doi vectori, prelund alternativ valori astfel nct valorile preluate s fie n ordine cresctoare. O rezolvare posibil utilizeaz dou variabile de tip tablou i cteva variabile simple. Elementele determinate vor fi afiate n fiierul bac.txt n formatul cerut. Se va scrie definiia complet a subprogramului. Pentru antetul subprogramului sub se va alege corespunztor tipul de subprogram, tipul parametrilor i modul de transfer al acestora. Se vor folosi identificatorii de subprogram i de parametri formali specificai n enun. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie ce parcurge numerele de 3 cifre si pentru fiecare numr se verific dac este n fiier, afindu-se numai cele mai mari 2 numere ce nu apar n fiier.

E_INFO_INTENSIV_C_SIII_010 E_INFO_INTENSIV_PASCAL_SIII_010

3.

Se va scrie definiia complet a subprogramului. Pentru antetul subprogramului sub se va alege corespunztor tipul de subprogram, tipul parametrilor i modul de transfer al acestora. Se vor folosi identificatorii de subprogram i de parametri formali specificai n enun. O soluie eficient din punct de vedere al timpului de executie va utiliza un vector cu 9999 elemente n care indicii reprezint codul unui produs iar valoarea elementului suma obinut n urma vnzrilor acelui produs. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Un algoritm eficient de rezolvare const n faptul c nu se folosesc variabile de tip tablou, ci la citirea numerelor din fiier se compar numrul citit cu maximul elementelor citite anterior, i dac este cazul se actualizeaz acest maxim i se afieaz. Se va ine cont de observaia c suma divizorilor unui numr prim x este egal cu x+1. Pentru ca soluia este eficient din punct de vedere al spaiului de memorie utilizat, se vor folosi doar variabile simple. Pentru a fi eficient din puncte de vedere al timpului de execuie se va face o singur parcurgere a fiierelor f1 i f2 folosind un algoritm similar cu cel de interclasare. Se citete pe rnd cte un numr de la tastatur, iar dac acesta are toate cifrele egale, se va mri un contor. Valoare acestui contor va fi la final afiat pe ecran. Se va determina folosind o formul matematic grupa din care face parte numrul cerut, apoi se determin poziia acestuia n cadrul grupei. Nu se va face o generare efectiv a irului, ci se determin valoarea cerut doar prin calcule matematice. Se citete pe rnd cte un numr din fiierul de intrare, se elimin apoi cifrele impare din acesta. Dac numrul rezultat n urma acestor transformri este nenul se scrie n fiierul de ieire. Se va contoriza ntr-un vector de cte ori apare fiecare cifr n irul citit. Se va afia apoi irul cerut, volosind acest vector. Se citete pe rnd cte un numr din fiierul de intrare. Se afieaz apoi pe ecran, iar dac pe linia curent s-au scris deja 5 valori se trece la linie nou. Se verific apoi dac suma cifrelor numrului curent este numr par, caz n care se mrete un contor. Se trece apoi la urmtorul numr din fiier. n final se va afia valoarea contorului pe o linie nou de pe ecran. Se parcurg numerele din intervalul [1,n] i n cazul n care valoarea curent are mai muli divizori dect numrul maxim de divizori se modific valoarea maximului i se memoreaz valoarea curent care are acest numr de divizori. Se vor folosi dou variabile x i y care vor memora ultimele dou numere prime. Se citesc pe rnd numerele

E_INFO_INTENSIV_C_SIII_010 E_INFO_INTENSIV_PASCAL_SIII_010

4.

E_INFO_INTENSIV_C_SIII_011 E_INFO_INTENSIV_PASCAL_SIII_011 E_INFO_INTENSIV_C_SIII_011 E_INFO_INTENSIV_PASCAL_SIII_011

2 3.

E_INFO_INTENSIV_C_SIII_011 E_INFO_INTENSIV_PASCAL_SIII_011 E_INFO_INTENSIV_C_SIII_012 E_INFO_INTENSIV_PASCAL_SIII_012

4. 3.

E_INFO_INTENSIV_C_SIII_012 E_INFO_INTENSIV_PASCAL_SIII_012 E_INFO_INTENSIV_C_SIII_013 E_INFO_INTENSIV_PASCAL_SIII_013

4.

3.

E_INFO_INTENSIV_C_SIII_013 E_INFO_INTENSIV_PASCAL_SIII_013 E_INFO_INTENSIV_C_SIII_014 E_INFO_INTENSIV_PASCAL_SIII_014 E_INFO_INTENSIV_C_SIII_014 E_INFO_INTENSIV_PASCAL_SIII_014

4.

3.

4.

E_INFO_INTENSIV_C_SIII_015 E_INFO_INTENSIV_PASCAL_SIII_015

3.

E_INFO_INTENSIV_C_SIII_015

4.

E_INFO_INTENSIV_PASCAL_SIII_015

din fiier, iar la ntlnirea unui numr prim se actualizeaz valorile variabilelor x i y. n final dac s-au ntlnit cel puin dou numere prime se vor afia ultimele dou, n caz contrar se va afia mesajul corespunztor. 3. Subprogramul poate determina numrul cerut, parcurgnd toate elementele tabloului unidimensional i contoriznd acele valori care respect condiia impus. Deoarece fiierul conine maximum 10000 de numere cu maximum 9 cifre fiecare, nu este corect memorarea ntr-un tablou unidimensional a cifrelor tuturor numerelor din fiier i sortarea descresctoare a acestuia. Se obine punctaj parial pentru o soluie care abordeaz o astfel de metod. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Subprogramul poate determina numrul cerut, parcurgnd toate elementele vectorului i contoriznd acele valori care respect condiia impus. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou unidimensional, pastreaz ntr-o variabil auxiliar primul element al tabloului, sorteaz cresctor tabloul i determin poziia n tablou a elementului pstrat anterior n variabila auxiliar. Subprogramul poate determina numrul cerut, calculnd media aritmetic a tuturor elementelor tabloului unidimensional i contoriznd apoi acele valori ale tabloului care respect condiia impus. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou unidimensional, sorteaz descresctor tabloul i determin poziia n tablou a valorii memorate n variabila k. O posibil rezolvare folosete principiul sortrii unui vector prin metoda bulelor, interschimbnd 2 elemente vecine, dac un element negativ se afl imediat dup unul pozitiv. ntruct numrul de numere din fiecare fiier este foarte mare, nu este corect memorarea acestor numere n tablouri unidimensionale, n vederea concatenrii i sortrii acestor tablouri. O rezolvare care se bazeaz pe acest pricipiu va primi punctaj parial. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. O posibil rezolvare folosete principiul sortrii unui vector prin metoda bulelor, interschimbnd 2 elemente vecine, dac un element nenul se afl imediat dup unul nul. ntruct numrul de numere din fiecare fiier este foarte mare, nu este corect memorarea acestor numere n tablouri unidimensionale, n vederea determinrii elementelor comune acestor tablouri. O rezolvare care

E_INFO_INTENSIV_C_SIII_016 E_INFO_INTENSIV_PASCAL_SIII_016 E_INFO_INTENSIV_C_SIII_016 E_INFO_INTENSIV_PASCAL_SIII_016

4.

E_INFO_INTENSIV_C_SIII_017 E_INFO_INTENSIV_PASCAL_SIII_017 E_INFO_INTENSIV_C_SIII_017 E_INFO_INTENSIV_PASCAL_SIII_017

3.

4.

E_INFO_INTENSIV_C_SIII_018 E_INFO_INTENSIV_PASCAL_SIII_018

3.

E_INFO_INTENSIV_C_SIII_018 E_INFO_INTENSIV_PASCAL_SIII_018

4.

E_INFO_INTENSIV_C_SIII_019 E_INFO_INTENSIV_PASCAL_SIII_019

3.

E_INFO_INTENSIV_C_SIII_019 E_INFO_INTENSIV_PASCAL_SIII_019

4.

E_INFO_INTENSIV_C_SIII_020 E_INFO_INTENSIV_PASCAL_SIII_020

3.

E_INFO_INTENSIV_C_SIII_020 E_INFO_INTENSIV_PASCAL_SIII_020

4.

se bazeaz pe acest principiu va primi punctaj parial. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. E_INFO_INTENSIV_C_SIII_021 E_INFO_INTENSIV_PASCAL_SIII_021 E_INFO_INTENSIV_C_SIII_021 E_INFO_INTENSIV_PASCAL_SIII_021 4a. 3. p1=n; ct timp p1 nu e prim p1=p1-1 p2=n; ct timp p2 nu e prim p2=p2+1 rezultatul = p2-p1 s=0, pt.i=1,k s=s+xi; smax=s; imax=1 pt,. i=k+1,n-k+1 s=s+xi-xi-k dac s>smax smax=s; imax=i scrie imax Algoritmul propus calculeaz suma maxim n loc de media aritmetic maxim, printr-o simgur parcurgere a irului, reinnd suma maxim i indicele primului termen al acestei sume.La calculul unei sume noi se adun doar un termen i se scade unul din suma precedent Se apeleaz f(B) nainte i dup scrierea lui C iar apelul lui f(B) duce la apelul lui f(A) nainte i dup scrierea lui B. Se calculeaz exponentul lui 5 din descompunerea n factori primi a lui n!. Acesta este [n/5]+[n/52]+[n/53]+... n=5; ct timp nz(n) < k n=n+5

E_INFO_INTENSIV_C_SIII_021 E_INFO_INTENSIV_PASCAL_SIII_021

4b.

E_INFO_INTENSIV_C_SIII_022 E_INFO_INTENSIV_PASCAL_SIII_022 E_INFO_INTENSIV_C_SIII_022 E_INFO_INTENSIV_PASCAL_SIII_022 E_INFO_INTENSIV_C_SIII_022 E_INFO_INTENSIV_PASCAL_SIII_022 E_INFO_INTENSIV_C_SIII_022 E_INFO_INTENSIV_PASCAL_SIII_022 E_INFO_INTENSIV_C_SIII_023 E_INFO_INTENSIV_PASCAL_SIII_023 E_INFO_INTENSIV_C_SIII_023 E_INFO_INTENSIV_PASCAL_SIII_023

2.

3a. 3b. 4.

p=1 ct timp p*2<=b p=p*2 dac p>=a scrie p altfel scrie 0 aux=x[1] pt. i=1,n-1 x[i]=x[i+1] x[n]=aux shift(n,x) pune pe poziia n pe x[1], iar pe prima poziie pe x[2]; shift(n-1,x) pune pe poziia n-2 pe x[2] apoi shift(n-2,x), ... pt. i=1,n disjunct=1 pt. j=1,n dac ij i ai[aj, bj] sau bi[aj, bj] disjunct=0 dac disjunct=0 scrie ai, bi Se apeleaz recursiv funcia f pn se ajunge la un numr divizibil cu 4 sau la un numr < 10. Subrogramul are 5 parametri: doi parametri de intrare n i x i 3 parametri de ieire (de tip referin) maxi, mini, sum. Minimul, maximul i suma se calculeaz printr-o parcurgere a irului x Dup citirea datelor se apeleaz p(n,x,mini,maxi,sum) i se calculeaz media cu (sum-mini-maxi)/(n-2) Dup citirea datelor cu memorarea tabloului ntr-un vector x se parcurge vectorul pn la gsirea primului

3a.

3b.

E_INFO_INTENSIV_C_SIII_023 E_INFO_INTENSIV_PASCAL_SIII_023

4.

E_INFO_INTENSIV_C_SIII_024 E_INFO_INTENSIV_PASCAL_SIII_024 E_INFO_INTENSIV_C_SIII_024 E_INFO_INTENSIV_PASCAL_SIII_024

2. 3a.

E_INFO_INTENSIV_C_SIII_024 E_INFO_INTENSIV_PASCAL_SIII_024 E_INFO_INTENSIV_C_SIII_024 E_INFO_INTENSIV_PASCAL_SIII_024

3b. 4.

termen >=a. dac nu e <=b se afieaz NU, altfel se afieaz termenul respectiv. E_INFO_INTENSIV_C_SIII_025 E_INFO_INTENSIV_PASCAL_SIII_025 E_INFO_INTENSIV_C_SIII_025 E_INFO_INTENSIV_PASCAL_SIII_025 3. 2. Se verific dac n este negativ sau par sau divizibil cu 3, dac nu se apeleaz f(n-10) Algoritmul: nr=0; par=0 pt. i=0,n-1 dac ai mod 2 = 0 par=1; nr=nr*10+ai dac par=0 returneaz -1 altfel returneaz nr Se pornete de la fracia x/1 i prin max. 7 nmuliri se obin dou numere ntregi. Simplificarea fraciei obinute se face calculnd cmmdc cu algoritmul lui Euclid. numarator=x; numitor=1 ct timp numarator [numrtor] numitor=numitor*10; numrator=numarator*10 d=cmmdc(numarator, numitor) scrie numarator/d, numitor/d Se afieaz irul n*k, n*(k-1), ... ,n*1 Subprogramul sterge realizeaz deplasarea celor n-j elemente aflate n vector, dup secvena care se terge, la nceputul acesteia (ncepnd cu poziia i). Numrul de elemente se micoreaz cu o valoare egal cu numrul de elemente ale secvenei eliminate (j-i+1). n programul principal se identific, pentru fiecare element vi secvena care urmeaz i este format din elemente cu aceeai valoare i se sterge. Rmn astfel doar elemente distincte. Se mparte numrul y la 10 pn cnd acesta devine subunitar. Funcia returneaz suma dintre x i valoarea variabilei y dup transformarea menionat anterior. Numrul de numere ntregi dintr-un interval (x;y) este egal cu y-1-x+1+1. Este suficient s actualizm acest variabila care va memora valoarea cerut pentru fiecare pereche de numere aflate pe poziii consecutive n irul numerelor din fiier, numere ce reprezint capetele unor intervale ce nu conin nici un alt interval determinat de numerele din fiier. Algoritmul este eficient din punct de vedere al memoriei utilizate (complexitate O(1)) ntruct utilizez un numr constant de variabile simple (nestructurate), numrul acestora nedepinznd de numrul de numere din fiier. Numrm elementele x[i] din irul de numere x, ce au proprietatea s-x[i]=x[i]*(n-1) unde s este suma celor n elemente. Este posibil ca aceast sum s depeasc domeniul aferent tipului de date ales i de aceea verificm dac elementul x[i] are proprietatea n x[ j ] x[i ] = x[i] . n 1 j =1 n 1 Pentru a verifica dac numrul x este aproape prim, calculm primul su divizor y mai mare dect 1 i

E_INFO_INTENSIV_C_SIII_025 E_INFO_INTENSIV_PASCAL_SIII_025 E_INFO_INTENSIV_C_SIII_025 E_INFO_INTENSIV_PASCAL_SIII_025

4b.

4a.

E_INFO_INTENSIV_C_SIII_026 E_INFO_INTENSIV_PASCAL_SIII_026 E_INFO_INTENSIV_C_SIII_026 E_INFO_INTENSIV_PASCAL_SIII_026

3. 4.

E_INFO_INTENSIV_C_SIII_027 E_INFO_INTENSIV_PASCAL_SIII_027 E_INFO_INTENSIV_C_SIII_027 E_INFO_INTENSIV_PASCAL_SIII_027

3.

4.

E_INFO_INTENSIV_C_SIII_028 E_INFO_INTENSIV_PASCAL_SIII_028

3.

E_INFO_INTENSIV_C_SIII_028 E_INFO_INTENSIV_PASCAL_SIII_028

4.

E_INFO_INTENSIV_C_SIII_029 E_INFO_INTENSIV_PASCAL_SIII_029 E_INFO_INTENSIV_C_SIII_029 E_INFO_INTENSIV_PASCAL_SIII_029

3.

4.

determinm z=x/y. Numrul z trebuie s fie prim i diferit de y. Se observ c un numr z este prim dac prim(z)=z. Citim irul de valori i actualizm la fiecare pas valoarea variabilei ce reine maximul aproape prim. Valoarea returnat de subprogram poate fi obinut prin parcurgerea intervalului [a;b] numrarea elementelor x din acest interval cu proprietatea c x%c=0 sau utiliznd o formul direct de calcul b/c-a/c+1. Verificm mai nti dac este ndeplinit condiia necesar mn i, n caz afirmativ, continum cu citirea celor n numere care formeaz primul tablou. Citim pe rnd cte un element x de pe linia a treia din fiier. Dac valoarea acestuia este mai mic dect valaorea elementului curent din A atunci rspunsul va fi NU i parcurgerea se ncheie, altfel scdem elementul curent din A din x i trecem pe elementul urmtor n vectorul A. Citirea unui nou element x de pe linia a treia din fiier se face atunci cnd elementul curent x este nul. Rspunsul DA va fi afiat atunci cnd parcurgerea celor dou iruri se ncheie simultan. Algoritmul este liniar pentru c face cel mult o trecere simultan prin cei doi vectori, trecere absolut necesar atunci cnd proprietatea cerut este ndeplinit. Suprogramul va calcula suma primelor i-1 elemente i ultimelor (n-j) elemente din tabloul unidimensional transmis ca parametru. Pentru determinarea numrului minim de intervale nr iniializm o variabil p cu partea ntreag a primului numr real din fiier. Aceast variabil se va modifica (p=[x])atunci cnd numrul x citit din fiier se gsete n afara intervalului [p;p+1].Variabila nr se mrete cu o unitate de fiecare dat cnd se modific valoarea variabilei p. Se urmresc apelurile recursive, determinndu-se valoarea returnat de subprogram. Se ordoneaz cresctor elementele teabloului unidimensional i se calculeaz apoi suma primelor m (cele mai mici) elemente. Se citesc datele din fiieriar i se calculeaz capetele segmentului de intersecie. Acesta va fi detrminat de valoarea maxim a capetelor din stnga a tuturor segmentelor date i valorarea minim a capetelor din dreapta. Se urmresc apelurile recursive, determinndu-se valoarea returnat de subprogram. Se parcurg numerele naturale mai mari dect x, pn la ntlnirea primului numr prim ntlnit. Acesta va fi cel mai mic numr prim, strict mai mare dect x. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou, apoi parcurge tabloul i

E_INFO_INTENSIV_C_SIII_030 E_INFO_INTENSIV_PASCAL_SIII_030 E_INFO_INTENSIV_C_SIII_030 E_INFO_INTENSIV_PASCAL_SIII_030

3.

4.

E_INFO_INTENSIV_C_SIII_031 E_INFO_INTENSIV_PASCAL_SIII_031 E_INFO_INTENSIV_C_SIII_031 E_INFO_INTENSIV_PASCAL_SIII_031 E_INFO_INTENSIV_C_SIII_031 E_INFO_INTENSIV_PASCAL_SIII_031

2. 3.

4.

E_INFO_INTENSIV_C_SIII_032 E_INFO_INTENSIV_PASCAL_SIII_032 E_INFO_INTENSIV_C_SIII_032 E_INFO_INTENSIV_PASCAL_SIII_032 E_INFO_INTENSIV_C_SIII_032 E_INFO_INTENSIV_PASCAL_SIII_032

2. 3.

4.

determin cele mai mari dou valori ale acestuia. E_INFO_INTENSIV_C_SIII_033 E_INFO_INTENSIV_PASCAL_SIII_033 E_INFO_INTENSIV_C_SIII_033 E_INFO_INTENSIV_PASCAL_SIII_033 3. 2. Se urmresc apelurile recursive, determinndu-se valoarea returnat de subprogram. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz toate numerele citite din fiier ntr-un tablou i folosind apelul subprogramului max_cif, detrmin afiarea celui mare numr de trei cifre memorat n fiier. Se urmresc apelurile recursive, determinndu-se valoarea returnat de subprogram. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru un subprogram care determin valoarea maxim a unei progresii prin parcurgerea element cu element a tabloului. Se citesc datelor din fiier i se determin acea valoare maxim care este i termen al unei progresii aritmetice. E_INFO_INTENSIV_C_SIII_035 E_INFO_INTENSIV_PASCAL_SIII_035 3. Se citesc din fiier datele existente, iar dintre valorile memorate pe a doua linie a fiierului, se vor afia pe ecran doar cele care ndeplinesc condiiile enunate de problem. O posibil rezolvare const n memorarea ntr-un tablou unidimensional a valorilor detrminate prin calculul sumei divizorilor fiecrui numr citit de la tastatur. Se ordoneaz apoi cresctor tabloul astfel construit i se afieaz pe ecran valorile n formatul cerut. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Elementul maxim ct i numarul de apariii ale acestuia trebuie sa se determine la o singur parcurgere a fiierului fr a mai utiliza tipul tablou. Din exemplu se deduce modalitatea de generare, i se adapteaz pentru valoarea cerut. Subprogramul determin ultima cifr par din numr. Se i-au cifrele numrului pe rnd, ncepnd cu cifra unitilor i se verific dac acestea respect condiia enunului. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz ntr-un vector, pentru fiecare numr citit din fiier cifra par, apoi sorteaz descresctor, elementele acestuia. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Se declar un tablou unidimensional cu cel mult 100 elemente. O rezolvare posibil citete valorile lui n respectiv k i toate elementele tabloului, apoi parcurge tabloul permutnd elementele acestuia conform enunului.

E_INFO_INTENSIV_C_SIII_034 E_INFO_INTENSIV_PASCAL_SIII_034 E_INFO_INTENSIV_C_SIII_034 E_INFO_INTENSIV_PASCAL_SIII_034

2. 3.

E_INFO_INTENSIV_C_SIII_035 E_INFO_INTENSIV_PASCAL_SIII_035

4.

E_INFO_INTENSIV_C_SIII_041 E_INFO_INTENSIV_PASCAL_SIII_041

4.

E_INFO_ INTENSIV_C_SIII_036 E_INFO_ INTENSIV_PASCAL_SIII_036 E_INFO_ INTENSIV_C_SIII_036 E_INFO_ INTENSIV_PASCAL_SIII_036 E_INFO_ INTENSIV_C_SIII_036 E_INFO_ INTENSIV_PASCAL_SIII_036

2. 3.

3.

E_INFO_ INTENSIV_C_SIII_037 E_INFO_ INTENSIV_PASCAL_SIII_037 E_INFO_ INTENSIV_C_SIII_037 E_INFO_ INTENSIV_PASCAL_SIII_037

2. 3.

E_INFO_ INTENSIV_C_SIII_037 E_INFO_ INTENSIV_PASCAL_SIII_037

4.

Se scrie antetul subprogramului, urmrind cerina. O soluie posibil citete cele n elemente din fiierul bac.in i le reine ntr-un tablou unidimensional. Se parcurge vectorul i prin apeluri ale funciei se determin poziia primului element care respect condiia din enun. n mod similar se parcurge irul de la sfrsit i se determin i al doilea element cerut.

E_INFO_ INTENSIV_C_SIII_038 E_INFO_ INTENSIV_PASCAL_SIII_038 E_INFO_ INTENSIV_C_SIII_038 E_INFO_ INTENSIV_PASCAL_SIII_038 E_INFO_ INTENSIV_C_SIII_038 E_INFO_ INTENSIV_PASCAL_SIII_038

2. 3. 4.

Se urmresc apelurile recursive, determinndu-se valoarea afiat. Subprogramul adaug la numrul pe care l formm cifre ale numrului dat care respect proprietatea din enun. Se scrie definiia complet a subprogramului, urmrind cerina. O soluie posibil citete cele n elemente din fiierul bac.in i le reine ntr-un tablou unidimensional. Se sorteaz vectorul utiliznd apeluri ale subprogramului.

E_INFO_ INTENSIV_C_SIII_039 E_INFO_ INTENSIV_PASCAL_SIII_039 E_INFO_ INTENSIV_C_SIII_039 E_INFO_ INTENSIV_PASCAL_SIII_039

2. 3.

Se urmresc apelurile recursive, determinndu-se valoarea afiat. O soluie posibil citete cele n elemente din fiierul bac.in i le reine ntr-un tablou unidimensional. Se parcurge vectorul i se compar dou cte dou elementele pare pentru a verifica dac sunt n ordine cresctoare. Se scrie antetul subprogramului, urmrind cerina. Se citete numrul, se elimin cte o cifr i pentru fiecare numr astfel determinat se apeleaz funcia. Se afieaz acele valori pentru care este respectat condiia din enun.

E_INFO_ INTENSIV_C_SIII_039 E_INFO_ INTENSIV_PASCAL_SIII_039

4.

E_INFO_ INTENSIV_C_SIII_040 E_INFO_ INTENSIV_PASCAL_SIII_040 E_INFO_ INTENSIV_C_SIII_040 E_INFO_ INTENSIV_PASCAL_SIII_040

2. 3.

Se urmresc apelurile recursive, determinndu-se valoarea afiat. O soluie posibil citete cele n elemente din fiierul bac.in i le reine ntr-un tablou unidimensional. Se parcurge vectorul i se compar dou cte dou elementele pare pentru a verifica dac sunt n ordine cresctoare i se compar dou cte dou elementele impare pentru a verifica dac sunt n ordine descresctoare. Se scrie antetul subprogramelor, urmrind cerina. Se citete numrul n. Pentru fiecare numr natural mai mic sau egal cu n se apeleaz subprogramele corespunztor enunului. Se afieaz numerele care respect proprietatea cerut.

E_INFO_ INTENSIV_C_SIII_040 E_INFO_ INTENSIV_PASCAL_SIII_040

4.

E_INFO_INTENSIV_C_SIII_042 E_INFO_INTENSIV_PASCAL_SIII_042

4.

O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Elementele unice trebuie determinate la o singur parcurgere a fiierului. Se poate utiliza un vector caracteristic. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Cifrele ce formeaz

E_INFO_INTENSIV_C_SIII_043 E_INFO_INTENSIV_PASCAL_SIII_043

4.

numrul trebuie determinate la o singur parcurgere a fiierului. Se poate utiliza un vector caracteristic. E_INFO_INTENSIV_C_SIII_044 E_INFO_INTENSIV_PASCAL_SIII_044 4. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Cifrele ce apar n scrierea numerelor trebuie determinate la o singur parcurgere a fiierului. Se poate utiliza un vector caracteristic. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Numerelor trebuie sortate la o singur parcurgere a fiierului. Se poate utiliza un vector caracteristic. Se face suma primilor termeni ai unei progresii aritmetice. Se citete de la tastatur k, din fiier n. Pentru fiecare numr, nr, citit din fiier, se calculeaz numrul de divizori (se poate folosi un subprogram) i acesta se compar cu k. Dac este cel puin egal cu k, se trece numrul curent nr n vector, pentru care indicele, iniial 0, se incrementeaz. a) Primul parametru, nr, este transmis prin valare, ceilali doi, nc i sc, prin referin. b) Se apeleaz subprogramul cifre, se caut o cifr c din numr care s verifice condiia cerut (c = sc / nc) E_INFO_INTENSIV_C_SIII_047 E_INFO_INTENSIV_PASCAL_SIII_047 E_INFO_INTENSIV_C_SIII_047 E_INFO_INTENSIV_PASCAL_SIII_047 E_INFO_INTENSIV_C_SIII_047 E_INFO_INTENSIV_PASCAL_SIII_047 4. 3. Se citete de la tastatur k, din fiier n. Pentru fiecare numr, nr, citit din fiier, se caut o cifr care s fie egal cu k. a) Primul parametru, nr, este transmis prin valare, al doilea, s, prin referin. b) Se citete n. Se iniializeaz o variabil max cu 0. Se citete fiecare numr nr dintre cele n, se compar valoarea furnizat la apelul subprogramului cif cu max. E_INFO_INTENSIV_C_SIII_048 E_INFO_INTENSIV_PASCAL_SIII_048 3. a) Parametri se transmit prin valoare. Rezultatul este ntreg. Subprogramul poate fi i unul recursiv. b) Se citesc a, b, n. Dac a i b nu formeaz interval se interschimb. Se parcurge intervalul [a,b]. Se determin cel mai mare divizor comun dintre fiecare numr din interval i n. Se compar cu 1. Se formeaz vectorul. E_INFO_INTENSIV_C_SIII_048 E_INFO_INTENSIV_PASCAL_SIII_048 4. Pentru fiecare numr nr, citit dintre cele n, se determin frecvena de apariie. Se poate folosi un vector. (v[nr]=f_ap nseamn c nr apare de f_ap ori). Se afieaz elementele din acest vector care sunt egale cu 1. Se citesc de la tastatur a, b i n. Dac a i b nu formeaz interval se interschimb. Se parcurge intervalul [a,b]. Se caut multiplii lui n (restul mpririi s fie 0). Se formeaz vectorul. a) Primul parametru se transmite prin valoare, al doilea prin refrin. 2. Se face produsul combinrilor.

E_INFO_INTENSIV_C_SIII_045 E_INFO_INTENSIV_PASCAL_SIII_045

4.

E_INFO_INTENSIV_C_SIII_046 E_INFO_INTENSIV_PASCAL_SIII_046 E_INFO_INTENSIV_C_SIII_046 E_INFO_INTENSIV_PASCAL_SIII_046

2. 3.

E_INFO_INTENSIV_C_SIII_046 E_INFO_INTENSIV_PASCAL_SIII_046

4.

E_INFO_INTENSIV_C_SIII_049 E_INFO_INTENSIV_PASCAL_SIII_049

3.

E_INFO_INTENSIV_C_SIII_049

4.

E_INFO_INTENSIV_PASCAL_SIII_049

b) Se inializeaz o variabil max cu 0. Pentru fiecare numr, nr, citit din fiier, se compar cifra maxim furnizat la apelul cmax cu max. 3. a) Ambii parametri se transmit prin valoare, iar rezultatul este ntreg. Se compar restul mpririi lui x la y cu 0. b) Se citesc de la tastatur a, b i n. Dac a i b nu formeaz interval se interschimb. Se parcurge intervalul [a,b]. Se caut divizorii lui n prin apel div. Se formeaz vectorul.

E_INFO_INTENSIV_C_SIII_050 E_INFO_INTENSIV_PASCAL_SIII_050

E_INFO_INTENSIV_C_SIII_050 E_INFO_INTENSIV_PASCAL_SIII_050

4.

E_INFO_INTENSIV_C_SIII_051 E_INFO_INTENSIV_PASCAL_SIII_051 E_INFO_INTENSIV_C_SIII_051 E_INFO_INTENSIV_PASCAL_SIII_051 E_INFO_INTENSIV_C_SIII_052 E_INFO_INTENSIV_PASCAL_SIII_052

3a

Se citete n din fiier. Pentru fiecare numr nr, citit dintre cele n, se determin frecvena de apariie. Se poate folosi un vector. (v[nr]=f_ap nseamn c nr apare de f_ap ori). Se afieaz elementele din acest vector care sunt mai mari dect 1. Pentru calcularea distantei se foloseste formula d = pow(xa-ya,2)+pow(ya-yb,2) Se parcurg elementele tabloului si se afiseaza perechile (a[i],a[j]) pentru care a[i]%2=a[j]%2 Se contorizeaza intr-un vector f cu 10 elemente aparitiile fiecarei cifre in numar. Numarul cifrelor distincte este egal cu numarul elementelor din vector care sunt >0. Se verifica daca elementele vectorului sunt chiar numerele 1,2,,n. Se alege secventa pentru care elementele consecutive au cmmdc=1 Se iau toate tripletele posibile de elemente distincte.

3a

E_INFO_INTENSIV_C_SIII_052 E_INFO_INTENSIV_PASCAL_SIII_052 E_INFO_INTENSIV_C_SIII_053 E_INFO_INTENSIV_PASCAL_SIII_053 E_INFO_INTENSIV_C_SIII_054 E_INFO_INTENSIV_PASCAL_SIII_054 E_INFO_INTENSIV_C_SIII_055 E_INFO_INTENSIV_PASCAL_SIII_055 E_INFO_INTENSIV_C_SIII_055 E_INFO_ INTENSIV_PASCAL_SIII_055 E_INFO_INTENSIV_C_SIII_056 E_INFO_INTENSIV_PASCAL_SIII_056 E_INFO_INTENSIV_C_SIII_056 E_INFO_INTENSIV_PASCAL_SIII_056

3b

3a

Se construieste un tablou cu toate cifrele numarului si apoi se ordoneaza crescator elementele tabloului. O soluie posibil citete numerele date i construiete n memorie cele dou tablouri, apoi pe al treilea, pe baza relaiei date. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Se citesc numerele din fiier, pn la sfritul acestuia i se rein cele pare ntr-un vector care este apoi sortat. Componentele vectorului sunt apoi afiate pe ecran. Avnd n vedere c numerele din fiier au cel mult 4 cifre fiecare, problema se poate rezolva i cu un vector de frecvene (f[i]=numrul de apariii ale lui i n fiier). Rezultatul cerut se calculeaz apelnd funcia numar pentru b i a-1. Se urmresc apelurile recursive, determinndu-se valoarea afiat.

2. 3.

E_INFO_INTENSIV_C_SIII_056 E_INFO_INTENSIV_PASCAL_SIII_056 E_INFO_INTENSIV_C_SIII_057 E_INFO_INTENSIV_PASCAL_SIII_057

4. 2.

E_INFO_INTENSIV_C_SIII_057 E_INFO_INTENSIV_PASCAL_SIII_057

3.

Se citesc numerele din fiier, pn la sfritul acestuia, se rein ntr-un vector i se genereaz toate sumele a cte dou elemente din vector. Avnd n vedere c numerele din fiier au cel mult 4 cifre fiecare, sumele vor fi mai mici dect 20000 i deci se poate folosi un vector ale crui componente au valori 0 sau 1: f[i]=1 dac i numai dac i se poate obine ca sum de numere din fiier. O alt variant de rezolvare este reinerea sumelor ntr-un vector, sortarea acestuia i eliminarea dublurilor (prin modificarea vectorului sau direct la afiare). Rezultatul cerut se calculeaz apelnd funcia multiplu pentru b i a-1. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Se citesc numerele din fiier, pn la sfritul acestuia. Se pstreaz (fiecare fiind reinut n alt variabil) cele mai mici 3 numere gsite pn la ultima citire. Se compar ultimul numr citit cu cele 3 variabile i, dac este cazul se modific valorile acestora. O alt variant de rezolvare, mai puin eficient, se bazeaz pe un vector n care sunt reinute toate numerele citite, apoi vectorul este ordonat cresctor i se afieaz primele 3 componente. Rezultatul cerut se calculeaz apelnd funcia divizor i lund n considerare faptul c un numr prim are ca divizori doar pe 1 i pe el nsui. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Se citesc numerele din fiier, pn la sfritul acestuia. Se pstreaz (fiecare fiind reinut n alt variabil) cele mai mari 3 numere gsite pn la ultima citire. Se compar ultimul numr citit cu cele 3 variabile i, dac este cazul se modific valorile acestora. O alt variant de rezolvare, mai puin eficient, se bazeaz pe un vector n care sunt reinute toate numerele citite, apoi vectorul este ordonat descresctor i se afieaz ultima cifr a produsului primelor 3 componente. Rezultatul cerut se calculeaz apelnd funcia divizor i lund n considerare faptul c un numr prim are ca divizori doar pe 1 i pe el nsui. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Se citesc numerele din fiier, pn la sfritul acestuia verificndu-se la fiecare pas dac s-a citit x. Funcia radical furnizeaz prin intermediul lui x partea ntreaga a radicalului lui a. n programul principal trebuie verificat dac prin ridicarea la ptrat a rezultatului funciei se obine n. a) o posibilitate de implementare a subprogramului cifra utilizeaz funcii standard pe numere ntregi i

E_INFO_INTENSIV_C_SIII_057 E_INFO_INTENSIV_PASCAL_SIII_057 E_INFO_INTENSIV_C_SIII_058 E_INFO_INTENSIV_PASCAL_SIII_058 E_INFO_INTENSIV_C_SIII_058 E_INFO_INTENSIV_PASCAL_SIII_058

4. 2. 3.

E_INFO_INTENSIV_C_SIII_058 E_INFO_INTENSIV_PASCAL_SIII_058 E_INFO_INTENSIV_C_SIII_059 E_INFO_INTENSIV_PASCAL_SIII_059 E_INFO_INTENSIV_C_SIII_059 E_INFO_INTENSIV_PASCAL_SIII_059

4.

2. 3.

E_INFO_INTENSIV_C_SIII_059 E_INFO_INTENSIV_PASCAL_SIII_059 E_INFO_INTENSIV_C_SIII_060 E_INFO_INTENSIV_PASCAL_SIII_060 E_INFO_INTENSIV_C_SIII_060 E_INFO_INTENSIV_PASCAL_SIII_060 E_INFO_INTENSIV_C_SIII_060 E_INFO_INTENSIV_PASCAL_SIII_060 E_INFO_INTENSIV_C_SIII_061 E_INFO_INTENSIV_PASCAL_SIII_0

4.

2. 3. 4.

61

operatorul aritmetic de aflare a restului mpririi a 2 numere ntregi. b) programul citete din fiierul text cte o pereche de numere reale i calculeaz diferena dintre partea ntreag a celor dou numere prin apeluri ale funciei cifra. Se va avea n vedere i situaia n care unul dintre numerele citite este 10. a) O soluie posibil utilizeaz un vector a0,a1,...a99 iniializat cu zero. Un element a[i] va memora valoarea 1 la citirea din fiier a numrului i. Rezultatele vor fi afiate prin parcurgerea succesiv a vectorului de la primul la ultimul element, pentru numerele impare i apoi n ordine invers pentru numerele pare. a) o posibilitate de implementare a subprogramului verif se bazeaz pe extragerea cifrelor numrului ntr-un vector i compararea tuturor secvenelor de 3 cifre alturate. b) programul citete din fiierul text cte un numr natural cu exact 6 cifre, extrage primele 3 cifre ale numrului prin mprire la 1000 i apeleaz funcia verif. O posibilitate de implementare a subprogramului diviz utilizeaz dou structuri for imbricate pentru obinerea perechilor de numere i apoi verificarea condiiilor de divizibilitate. Programul realizeaz prelucrarea cerut citind pe rnd din fiier cte un numr pe care l compar cu cel citit anterior. Dac dou numere citite consecutiv sunt n ordinea cerut n enun atunci se mrete lungimea secvenei altfel se compar cu un max. a) O posibilitate de implementare a subprogramului sfx utilizeaz extragerea ultimelor 3 cifre ale numrului i compararea acestora. b) programul citete din fiierul text cte un numr natural cu exact 6 cifre ;i prin apeluri repetate ale funciei sfx determin numerele cu proprietatea din enun.

E_INFO_INTENSIV_C_SIII_062 E_INFO_INTENSIV_PASCAL_SIII_0 62

E_INFO_INTENSIV_C_SIII_063 E_INFO_INTENSIV_PASCAL_SIII_0 63

E_INFO_INTENSIV_C_SIII_064 E_INFO_INTENSIV_PASCAL_SIII_0 64

E_INFO_INTENSIV_C_SIII_064 E_INFO_INTENSIV_PASCAL_SIII_0 64

E_INFO_INTENSIV_C_SIII_065 E_INFO_INTENSIV_PASCAL_SIII_0 65

E_INFO_INTENSIV_C_SIII_066 E_INFO_INTENSIV_PASCAL_SIII_066 E_INFO_INTENSIV_C_SIII_066 E_INFO_INTENSIV_PASCAL_SIII_066 E_INFO_INTENSIV_C_SIII_066 E_INFO_INTENSIV_PASCAL_SIII_066

2. 3.

Se urmresc apelurile recursive, determinndu-se valoarea cerut. Subprogramul poate determina numrul cerut parcurgnd toate elementele tabloului i determinnd maximul dintre divizorii comuni ai elementelor tabloului. O rezolvare de punctaj maxim implic un anumit grad de creativitate. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiiere n tablouri,

4.

apoi parcurgem tablourile i determinm i afim numrul de numere cu proprietatea cerut. E_INFO_INTENSIV_C_SIII_067 E_INFO_INTENSIV_PASCAL_SIII_067 E_INFO_INTENSIV_C_SIII_067 E_INFO_INTENSIV_PASCAL_SIII_067 E_INFO_INTENSIV_C_SIII_067 E_INFO_INTENSIV_PASCAL_SIII_067 4. 3. 2. Se urmresc apelurile recursive, determinndu-se valorile cerute. Subprogramul poate determina numrul cerut parcurgnd toate elementele tabloului i determinnd numrul de numere prime din tablou. O rezolvare de punctaj maxim implic un anumit grad de creativitate. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou, apoi parcurgem tabloul, determinm i afim numerele cu proprietatea cerut. O rezolvare de punctaj maxim implic un anumit grad de creativitate. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou, apoi parcurgem tabloul, determinm i afim cele dou valori cerute. O rezolvare de punctaj maxim implic un anumit grad de creativitate. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou, apoi parcurgem tabloul, determinm ordinea elementelor n tablou conform cerinei, dup care se afieaz tabloul obinut. O rezolvare de punctaj maxim implic un anumit grad de creativitate. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou, apoi parcurgem tabloul, determinm i afim cele dou valori cerute. Se urmresc apelurile recursive, determinndu-se valoarea afiat Se vor declara corespunztor numele i tipul subprogramului. Se va determina inversul numrului i n funcie de condiia impus subprogramul returneaz 1 sau 0. Se urmresc apelurile recursive, determinndu-se valoarea afiat Se vor declara corespunztor numele i tipul subprogramului. Se va calcula discriminantul ecuaiei i n funcie de valoarea acestuia se vor determina valorile soluiilor. n funcie de valoarea soluiilor subprogramul va returna o valoare conform enunului. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Dac se realizeaz cerina fr a utiliza subprogramul de la punctul 3 se obine punctaj parial. Dac se vor genera termenii irului pn la poziia k se va obine un punctaj parial. Se urmresc apelurile recursive, determinndu-se valoarea afiat

E_INFO_INTENSIV_C_SIII_068 E_INFO_INTENSIV_PASCAL_SIII_068

4.

E_INFO_INTENSIV_C_SIII_069 E_INFO_INTENSIV_PASCAL_SIII_069

4.

E_INFO_INTENSIV_C_SIII_070 E_INFO_INTENSIV_PASCAL_SIII_070

4.

E_INFO_INTENSIV_C_SIII_071 E_INFO_INTENSIV_PASCAL_SIII_071 E_INFO_INTENSIV_C_SIII_071 E_INFO_INTENSIV_PASCAL_SIII_071

2. 3.

E_INFO_INTENSIV_C_SIII_072 E_INFO_INTENSIV_PASCAL_SIII_072 E_INFO_INTENSIV_C_SIII_072 E_INFO_INTENSIV_PASCAL_SIII_072

2. 3.

E_INFO_INTENSIV_C_SIII_072 E_INFO_INTENSIV_PASCAL_SIII_072

4.

E_INFO_INTENSIV_C_SIII_073 E_INFO_INTENSIV_PASCAL_SIII_073

2.

E_INFO_INTENSIV_C_SIII_073 E_INFO_INTENSIV_PASCAL_SIII_073

3.

Se vor declara corespunztor numele i tipul subprogramului. O metoda eficient de determinare a poziiei impune un grad de creativitate din partea concurentului. Pentru o soluie n care se determin poziia prin parcurgerea tabloului se va obine un punctaj parial. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Dac se realizeaz cerina fr a utiliza subprogramul de la punctul 3 se obine punctaj parial. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou, apoi printr-o metod de sortare se sorteaz cresctor i se afieaz n formatul cerut.

E_INFO_INTENSIV_C_SIII_073 E_INFO_INTENSIV_PASCAL_SIII_073

4.

E_INFO_INTENSIV_C_SIII_074 E_INFO_INTENSIV_PASCAL_SIII_074 E_INFO_INTENSIV_C_SIII_074 E_INFO_INTENSIV_PASCAL_SIII_074

2. 3.

Se urmresc apelurile recursive, determinndu-se valoarea afiat Se vor declara corespunztor numele i tipul subprogramului. Subprogramul poate determina numrul cerut comparnd fiecare cifr a numrului cu o variabil maxim ce se va iniializa corespunztor. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou, apoi ordoneaz cresctor tabloul i afieaz numrul cerut. Algoritmul sorteaz cresctor primele 4 elemente ale tabloului folosind metoda seleciei directe. Se vor declara corespunztor numele i tipul subprogramului. O metoda eficient de determinare a poziiei impune un grad de creativitate din partea concurentului. Pentru o soluie n care se determin ultima cifr a numrului ab folosind nmulirea repetat sau funcii predefinite se va obine un punctaj parial. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier dou tablori sau un tablou de nregistrri, apoi calculeaz i afieaz numrul cerut. Se urmresc apelurile recursive, i se constat c se va calcula produsul cifrelor impare din numr. Subprogramul poate determina numrul cerut verificnd i numrnd cte din cifrele numrului n se afl n intervalul cerut. Pentru a obine punctaj maxim se va utiliza o metod ce presupune ct mai puine operaii de comparare. Se va ine cont de faptul c elementele de pe a doua linie a fiierului sunt ordonate cresctor. Numerele de pe linia a treia a fisierului se caut n cele de pe linia a doua utiliznd metoda cutrii binare Se urmresc apelurile recursive, i se constat c se va

E_INFO_INTENSIV_C_SIII_074 E_INFO_INTENSIV_PASCAL_SIII_074

4.

E_INFO_INTENSIV_C_SIII_075 E_INFO_INTENSIV_PASCAL_SIII_075 E_INFO_INTENSIV_C_SIII_075 E_INFO_INTENSIV_PASCAL_SIII_075

2. 3.

E_INFO_INTENSIV_C_SIII_075 E_INFO_INTENSIV_PASCAL_SIII_075

4.

E_INFO_INTENSIV_C_SIII_076 E_INFO_INTENSIV_PASCAL_SIII_076 E_INFO_INTENSIV_C_SIII_076 E_INFO_INTENSIV_PASCAL_SIII_076 E_INFO_INTENSIV_C_SIII_076 E_INFO_INTENSIV_PASCAL_SIII_076

2. 3.

4.

E_INFO_INTENSIV_C_SIII_077

2.

E_INFO_INTENSIV_PASCAL_SIII_077 E_INFO_INTENSIV_C_SIII_077 E_INFO_INTENSIV_PASCAL_SIII_077 E_INFO_INTENSIV_C_SIII_077 E_INFO_INTENSIV_PASCAL_SIII_077 4. 3.

calcula suma cifrelor impare din numr. Se deschide fiierul i se citesc numerele din fiier, numrnd valorile ce ndeplinesc proprietatea cerut. Pentru a obine punctaj maxim se va utiliza un vector cu 100 de elemente n care se va contoriza numrul de apariii ale fiecrei valori. Se vor afia acele valori care apar de cele mai multe ori. Se urmresc apelurile recursive, i se constat c se va calcula numrul cifrelor impare din numr. Se citete numrul n. Se genereaz numere naturale consecutive ncepnd cu valoarea 2 i se vor afia pe ecran doar numerele prime dintre cele generate. Generarea i afiarea se ncheie dup afiarea celui deal n-lea numr prim. Pentru a obine punctaj maxim se va utiliza un vector cu 100 de elemente n care se va contoriza numrul de apariii ale fiecrei valori. Se vor afia pe ecran toate valorile citite i numrul de apariii. Se urmresc apelurile recursive, i se constat c se va determina maximul cifrelor din numr. Se citesc numerele reale a i b i se construiesc a1 i b1 obinute prin interschimbarea prii ntregi cu partea fracionar n fiecare din cele dou numere. Se va determina valoarea maxim dintre cele 4 numere reale. Pentru a obine punctaj maxim se va utiliza un vector c cu 100 de elemente n care se va contoriza numrul de apariii ale fiecrei valori. Iniial toate elementeleo acestui vector se vor iniializa cu valoarea 0.Se vor afia pe ecran toate valorile naturale din intervalul [1,100] care nu au fost citite (valorile i pentru care c[i] are valoarea 0 ) Se urmresc apelurile recursive, i se constat c se va calcula suma cifrelor impare din numr. O rezolvare posibil presupune definirea unei funcii care verific dac un numr natural, transmis prin parametru, este format din cifre egale sau nu. Se citesc numerele din fiier, se memoreaz acelea care au toate cifrele egale ntr-un vector, apoi se ordoneaz i se afieaz.

E_INFO_INTENSIV_C_SIII_078 E_INFO_INTENSIV_PASCAL_SIII_078 E_INFO_INTENSIV_C_SIII_078 E_INFO_INTENSIV_PASCAL_SIII_078

2. 3.

E_INFO_INTENSIV_C_SIII_078 E_INFO_INTENSIV_PASCAL_SIII_078

4.

E_INFO_INTENSIV_C_SIII_079 E_INFO_INTENSIV_PASCAL_SIII_079 E_INFO_INTENSIV_C_SIII_079 E_INFO_INTENSIV_PASCAL_SIII_079

2. 3.

E_INFO_INTENSIV_C_SIII_079 E_INFO_INTENSIV_PASCAL_SIII_079

4.

E_INFO_INTENSIV_C_SIII_080 E_INFO_INTENSIV_PASCAL_SIII_080 E_INFO_INTENSIV_C_SIII_080 E_INFO_INTENSIV_PASCAL_SIII_080

2. 3.

E_INFO_INTENSIV_C_SIII_080 E_INFO_INTENSIV_PASCAL_SIII_080

4.

a)Pentru definirea funciei cif_dis o rezolvare posibil ar utiliza un vector c cu 10 elemente, n care se contorizeaz apariia fiecrei cifre. Dac numrul de apariii ale fiecrei cifre este cel mult 1, numrul este format din cifre distincte. b) Se citesc numerele i se contorizeaz cele care au cifre distincte.

E_INFO_INTENSIV_C_SIII_081 E_INFO_INTENSIV_PASCAL_SIII_081 E_INFO_INTENSIV_C_SIII_081

2. 3.

Se urmresc apelurile recursive, determinndu-se valoarea afiat. Subprogramul poate determina numrul cerut

E_INFO_INTENSIV_PASCAL_SIII_081 E_INFO_INTENSIV_C_SIII_081 E_INFO_INTENSIV_PASCAL_SIII_081 4.

parcurgnd toate numere din tablou care verific condiia impus. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou sortat cresctor, apoi parcurge tabloul, pentru determinarea numerelor cu proprietatea cerut. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Subprogramul poate determina numrul cerut parcurgnd toate numere din tablou care verific condiia impus. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou sortat cresctor, apoi parcurge tabloul, pentru determinarea numerelor cu proprietatea cerut. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Subprogramul poate determina numrul cerut parcurgnd toate numere din tablou care verific condiia impus. O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Se obine punctaj parial pentru o soluie care memoreaz numerele citite din fiier ntr-un tablou, precum i numrul lor de pe fiecare linie din fiier; apoi parcurge tabloul, pentru determinarea numrului cu proprietatea cerut. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Programul poate determina numrul cerut parcurgnd toate numere din tablou b care verific condiia impus(prima dat se parcurge tablou a, pentru determinarea sumei numerelor pare). O rezolvare posibil este s se parcurg fiecare linie din fiier, s se calculeze cmmmc i apoi se va afia n fiierul de ieire. Se urmresc apelurile recursive, determinndu-se valoarea afiat. Programul poate determina numrul cerut parcurgnd toate numere din tablou b care verific condiia impus(prima dat se parcurge tablou a, pentru determinarea sumei numerelor pare). O rezolvare posibil este s se parcurg fiecare linie din fiier, s se calculeze cmmdc i apoi se vor afia numerele simplificate cu cmmdc n fiierul de ieire. Se citesc numerele din fiier, unul cte unul, utiliznd o

E_INFO_INTENSIV_C_SIII_082 E_INFO_INTENSIV_PASCAL_SIII_082 E_INFO_INTENSIV_C_SIII_082 E_INFO_INTENSIV_PASCAL_SIII_082 E_INFO_INTENSIV_C_SIII_082 E_INFO_INTENSIV_PASCAL_SIII_082

2. 3.

4.

E_INFO_INTENSIV_C_SIII_083 E_INFO_INTENSIV_PASCAL_SIII_083 E_INFO_INTENSIV_C_SIII_083 E_INFO_INTENSIV_PASCAL_SIII_083 E_INFO_INTENSIV_C_SIII_083 E_INFO_INTENSIV_PASCAL_SIII_083

2. 3.

4.

E_INFO_INTENSIV_C_SIII_084 E_INFO_INTENSIV_PASCAL_SIII_084 E_INFO_INTENSIV_C_SIII_084 E_INFO_INTENSIV_PASCAL_SIII_084

2. 3.

E_INFO_INTENSIV_C_SIII_084 E_INFO_INTENSIV_PASCAL_SIII_084 E_INFO_INTENSIV_C_SIII_085 E_INFO_INTENSIV_PASCAL_SIII_085 E_INFO_INTENSIV_C_SIII_085 E_INFO_INTENSIV_PASCAL_SIII_085

4.

2. 3.

E_INFO_INTENSIV_C_SIII_085 E_INFO_INTENSIV_PASCAL_SIII_085 E_INFO_INTENSIV_C_SIII_086

4.

4.

E_INFO_INTENSIV_PASCAL_SIII_086

variabil de tip ntreg lung. Se verific paritatea fiecrui numr citit. Se reine primul numr par ntr-o variabil, de exemplu max1, apoi se reine i al doilea numr par ntro alt variabil, max2. Valorile din max1 i max2 se schimb la nevoie, n aa fel nct max1 s rein valoarea mai mare. n cazul urmtoarelor numere pare, pn la sfritul fiierului, se verific dac numrul tocmai citit este mai mare dect cel puin una dintre valorile deja reinute n cele dou variabile, max1 sau max2. Dac s-a citit un numr par mai mare dect max1, atunci se atribuie lui max1 aceast valoare. Dac numrul citit este mai mic dect max1, dar mai mare dect max2, atunci valoarea sa se atribuie variabilei max2. Se acord punctaj parial dac se parcurge fiierul de dou ori, sau dac se utilizeaz un tablou unidimensional pentru stocarea numerelor citite din fiier. 4. Se citesc numerele din fiier, unul cte unul, utiliznd o variabil de tip ntreg lung. Se verific proprietatea cerut folosind un subprogram care ntoarce o valoare logic n funcie de satisfacerea acestei proprieti. La gsirea primei valori corespunztoare se iniializeaz cu 1 un contor i se reine numrul. Dac se gsete o valoare egal cu cea gsit deja, se incrementeaz contorul. Dac se gsete un numr care are proprietatea cerut i este mai mic dect cel gsit ultima dat, se iniializeaz din nou contorul cu 1 i se reine aceast valoare. Procedeul se continu pn la sfritul fiierului. Se acord punctaj parial dac se parcurge fiierul de mai multe ori, sau dac se utilizeaz un tablou unidimensional pentru stocarea numerelor citite din fiier. O rezolvare de punctaj maxim se poate obine prin utilizarea vectorului caracteristic. Acesta este un tablou unidimensional x, cu cel mult 100 de componente numerotate de la 0 la 99, numere naturale. Se citesc pe rnd toate valorile din fiier. Cnd se citete valoarea k, se incrementeaz cu o unitate valoarea x[k]. Dup ce se ajunge la sfritul fiierului, se ncepe prelucrarea datelor din vectorul caracteristic. Pentru fiecare k2 se verific dac k este sau nu prim (utiliznd un subprogram optimizat care returneaz valoarea true, dac parametrul su este prim, respectiv valoarea false n caz contrar). Cel mai mare numr prim k, pentru care x[k]>0 se stocheaz n variabila pmax. Numrul de apariii ale lui pmax n fiier este dat de x[pmax]. Se obine punctaj parial pentru o soluie n care se memoreaz toate numerele citite din fiier ntr-un tablou, eventual se sorteaz acest tablou, i apoi se parcurge, eventual de mai multe ori, tabloul pentru determinarea valorilor cerute. O posibil rezolvare de punctaj maxim se obine prin utilizarea vectorului caracteristic. Acesta este un tablou unidimensional cu cel mult 100 de componente, numerotate de la 0 la 99. Se parcurge fiierul, se citesc toate numerele pe rnd, ntr-o variabil i. Dupa citirea unei valori t se va atribui valoarea 1 elementului x[i]. Prin parcurgerea acestui vector de la dreapta spre stnga,

E_INFO_INTENSIV_C_SIII_087 E_INFO_INTENSIV_PASCAL_SIII_087

E_INFO_INTENSIV_C_SIII_088 E_INFO_INTENSIV_PASCAL_SIII_088

4.

E_INFO_INTENSIV_C_SIII_089 E_INFO_INTENSIV_PASCAL_SIII_089

4.

ncepnd cu elementul x[k+1], k fiind valoarea citit de la tastatur, se obin, n ordine descresctoare, valorile cerute, prin afiarea acelor indici i pentru care x[i]=1. Se obine punctaj parial pentru o soluie n care se memoreaz toate numerele citite din fiier ntr-un tablou, se sorteaz i apoi se parcurge tabloul pentru determinarea valorilor cerute. E_INFO_INTENSIV_C_SIII_090 E_INFO_INTENSIV_PASCAL_SIII_090 4. O rezolvare de punctaj maxim se obine parcurgnd elementele fiierului o singur dat. Se va cuta n fiier o pereche consecutiv de numere strict pozitive, avnd suma maxim, utiliznd dou variabile de tip ntreg lung. n momentul n care se gsete n fiier o pereche de dou numere corespunztoare cerinelor, a cror sum este egal cu suma maxim gsit pn n acel moment, noile valori se vor reine doar dac diferena numerelor actuale este mai mare dect cea a celor deja stocate. Se obine punctaj parial pentru o soluie n care se memoreaz toate numerele citite din fiier ntr-un tablou i se parcurge tabloul pentru determinarea valorilor cerute. Pentru n=0 nu se afieaz nimic Subprogramul este o funcie cu un parametru ntreg i rezultat ntreg. Programul va apela funcia par pentru x/10000 Metoda utilizat este: se citete primul numr din fiier, se iniializeaz max cu valoarea citit, iar lin_prim, lin_ultim cu 1. Se citesc succesiv celelalte numere din fiier contorizandu-se numrul liniei; dac valoarea citit e mai mare ca max, se modific max, lin_prim i lin_ultim, dac este egal cu max se modific lin_ultim iar dac e mai mic nu se modific nimic. Se transpune n limbaj, algoritmul: citete x max=x; lin_prim=1; lin_ultim=1; i=1 ct timp n-am ajuns la sfritul fiierului citete x; i=i+1 dac x>max max=x; lin_prim=lin_ultim=i altfel dac x=max lin_ultim=i scrie lin_prim, lin_ultim a) f(14) => f(12) 14 => f(10) 12 14 => ... b) pentru n10 f(n) scrie un singur numr, pentru n=11 sau 12 f(n) scrie 0 i n, pentru n=13 sau 14 se afieaz 0, n-2, n etc Subprogramul nu furnizeaz nici un rezultat, deci e de tip procedure / void i are doi parametri Se poate folosi un singur aple al subprogramului ordonare, afind ultimele m, apoi primele m elemente ale tabloului rezultat sau dou apeluri, dou apeluri; dac se dorete ordonarea descresctoare schimbnd semnul tuturor elementelor din tablou pt. c1=A, Z

E_INFO_INTENSIV_C_SIII_091 E_INFO_INTENSIV_PASCAL_SIII_091 E_INFO_INTENSIV_C_SIII_091 E_INFO_INTENSIV_PASCAL_SIII_091 E_INFO_INTENSIV_C_SIII_091 E_INFO_INTENSIV_PASCAL_SIII_091

2. 3.

4a.

E_INFO_INTENSIV_C_SIII_091 E_INFO_INTENSIV_PASCAL_SIII_091

4b.

E_INFO_INTENSIV_C_SIII_092 E_INFO_INTENSIV_PASCAL_SIII_092

2.

E_INFO_INTENSIV_C_SIII_092 E_INFO_INTENSIV_PASCAL_SIII_092 E_INFO_INTENSIV_C_SIII_092 E_INFO_INTENSIV_PASCAL_SIII_092

3a. 3b.

E_INFO_INTENSIV_C_SIII_092

4.

E_INFO_INTENSIV_PASCAL_SIII_092 E_INFO_INTENSIV_C_SIII_093 E_INFO_INTENSIV_PASCAL_SIII_093 E_INFO_INTENSIV_C_SIII_093 E_INFO_INTENSIV_PASCAL_SIII_093 E_INFO_INTENSIV_C_SIII_093 E_INFO_INTENSIV_PASCAL_SIII_093 4. 3. 2.

pt c2=A, Z dac c1c2 scrie c1 c2 f(k,k+1) => f(k+1,k+1), f(k,k) => k+1 k+1 k k iar f(1,4) => f(2,4), f(1,3) => f(3,4), f(2,3), f(2,3), f(1,2) pentru i impar Ai=(i+1)/2, pentru i par Ai=n-(n-i)/2 Pentru determinarea numrului cerut putem calcula produsul divizorilor primi comuni celor dou numere transmise de parametri. n programul principal iniializm o variabil d cu dcp(x,x), unde x este primul element al irului i actualizm la fiecare pas aceast variabil cu dcp(d,y) unde y reprezint elementul curent al irului. Se folosete un vector de contorizare ct cu elemente de la 0 la 9, n care ct[i]=numrul de apariii al cifrei i n numrul n. Se verific dac fiecare dintre elementele ct[1], ct[2],...,ct[n] are valoarea 1. O soluie corect, dar ineficient ca timp de executare, verific dac numrul dat apare printre cele din fiier (folosind funcia definit la 3), apoi citete numerele din fiier pn d de numrul cutat, determinnd linia unde apare acesta printr-o variabil de tip contor incrementat pentru fiecare numr citit. Funcia implementeaz algoritmul fundamental de numrare (contorizare), n cazul de fa numrarea valorilor pozitive i a celor negative dintr-un tablou. O soluie corect, dar ineficient ca timp de executare, genereaz folosind trei instruciuni pentru toate tripletele de sum S i reine pe cel n care produsul celor trei numere din triplet este maxim. a. Se testeaz dac lungimea fiecare dintre cele trei laturi e strict mai mic dect suma lungimilor celorlalte dou laturi. b. Se formeaz toate perechile posibile cu laturile celor dou triunghiuri (sunt 3!=6 cazuri)

E_INFO_INTENSIV_C_SIII_094 E_INFO_ INTENSIV_PASCAL_SIII_094

E_INFO_INTENSIV_C_SIII_094 E_INFO_ INTENSIV_PASCAL_SIII_094

E_INFO_INTENSIV_C_SIII_095 E_INFO_ INTENSIV_PASCAL_SIII_095 E_INFO_INTENSIV_C_SIII_095 E_INFO_ INTENSIV_PASCAL_SIII_095

E_INFO_INTENSIV_C_SIII_096 E_INFO_ INTENSIV_PASCAL_SIII_096

E_INFO_INTENSIV_C_SIII_096 E_INFO_ INTENSIV_PASCAL_SIII_096

O soluie corect, dar ineficient ca timp de executare, reine numerele de pe a doua linie ntr-un vector, apoi pe msur ce citete cte un interval determin cte dintre numerele din vector aparin intervalului printr-o parcurgerea integral a vectorului. Complexitatea algoritmului este O(n*m), spaiu de memorie folosit: un tablou de 1000 elemente i cteva variabile simple. Soluiile eficiente determin numrul de valori care aparin unui interval folosind faptul c valorile de pe a doua linie i de pe a treia linie sunt sortate.

E_INFO_C_SIII_097 E_INFO_PASCAL_SIII_097 E_INFO_C_SIII_097 E_INFO_PASCAL_SIII_097


E_INFO_INTENSIV _C_SIII_097

2. 3.

Se pot genera toate irurile corecte care ncep cu litera a i se vor afia ultimele trei. Subprogramul poate determina suma cerut parcurgnd toate numerele dintre x i y i nsumndu-le pe cele care respect condiia impus.

4.

Considerm o variabila x care parcurge toate

E_INFO_INTENSIV _PASCAL_SIII_097

valorile mai mici dect k . Algoritmul identific toate valorile ntregi y (x<=y), pentru care y2 = k - x2. Algoritm de complexitatea O( k ).
2. 3. Se pot genera toate submulimile n ordinea impus i se vor afia ultimele trei. Subprogramul poate determina numrul cerut multipicnd valoarea unei variabile cu valoarea lui x, ct timp produsul obinut nu este mai mare dect y.

E_INFO_INTENSIV_C_SIII_098 E_INFO_INTENSIV _PASCAL_SIII_098 E_INFO_INTENSIV_C_SIII_098 E_INFO_INTENSIV _PASCAL_SIII_098


E_INFO_INTENSIV _C_SIII_098 E_INFO_INTENSIV _PASCAL_SIII_098

4.

Un algoritm optim ca timp de executare folosete algoritmul de interclasare, care evident are complexitate liniar. Din fiier sunt preluate doar valorile pare, memorate n doi vectori si interclasati.
Se pot genera toate irurile care respect condiia impus i se vor afia cel de al treilea i al patrulea. Subprogramul poate determina numrul cerut ca rest la imprtirea la 10nr-1 , unde nr este numrul de cifre al lui k.

E_INFO_INTENSIV_C_SIII_099 E_INFO_INTENSIV _PASCAL_SIII_099 E_INFO_C_SIII_099 E_INFO_PASCAL_SIII_099


E_INFO_INTENSIV _C_SIII_099 E_INFO_INTENSIV _PASCAL_SIII_099

2. 3.
4.

Algoritmul optim are complexitate liniar O(n), unde n reprezint numrul de valori citite. Se traverseaz valorile din fiier i cu fiecare element se incearc fie incrementarea lungimi secvenei curente, dac valoarea are paritate diferit fa de cea citit anterior, fie iniializarea unei noi secvene.
Subprogramul poate determina numrul cerut parcurgnd toi divizorii posibili ai celor trei numere i contorizndu-i pe cei care respect condiia impus.

E_INFO_INTENSIV_C_SIII_100 E_INFO_INTENSIV_PASCAL_SIII_100 E_INFO_INTENSIV_C_SIII_100 E_INFO_INTENSIV_PASCAL_SIII_100

4.

O rezolvare de punctaj maxim implic un anumit grad de creativitate din partea concurentului. Un punctaj parial se poate obine cu o soluie care genereaz numerele ntr-un vector de cifre i se testeaz dac deplinete condiia impus.

S-ar putea să vă placă și