Top Banner
ntat fn b s-a \ Urntdtoarele doud probleme se referd la algoritnrul de pseudocod, in care toate variabilele identificd nuntere naturale. citegte n; k<-0 ; pentru (ie1 ,2 ,...,f,) execut5 pentru ( j e1 ,'2 , .* , j-') execut5 inceput scrie i+j; .k<-k*l ; sfArgit; scrie k; . >5. (Bacalaureat iulie 2009, varianta 64) , Dacd de la tastafur[ se citegte valoarea a=4, care este antepenultimul numir ahgat. )6. Dacd de la tastaturi se citegte valoarea n=7, cdte numere se afigeazi in tqtal pe parcursul execu$ei algoritmului ? )7. (Bacalaureat iulie 2009, varianta 64) Deduceli ce valoare ar putea fi citi6 in variabila n, astfel incdt numdrul 64 sd fie afigat de exact 20 de ori. tema nr, cf.(&3. Wofifemc prqpuse pentru toate tipurife fe cichtri > 1. Fiind dat un numAr natural r, scrieli un algoritm pentru expfeslel E =1r,2+2*3+3*4+. . . *n* (n+1) . )2. (Bacalaureat iulie 2009, varianta 11) Scrieli un algoritm care citegte de la tastaturd un numdr natural nenul n, precrun gi n numere naturale, cu maximum noui cifre fiecare, apoi calculeazd gi afisgazd pe ecran,.cdte numere prime conline girul citit. Exemplu: pentru n=5 $i valorile 12 3 9 1 L se va afiga pe eiran )3. (Bacalaureat iulie 2008, varianta 77) Se citesc de la tastafird un numdr natural n gi un gir de n numere lntregi. Scriefi un algoritm eficient care determind cea mai mare valoare negativd dintre cele citite, precum qi numlrul de aparilii ale acesteia in cadrul girului. in cazut in care ginrl citit nu conline nici o valoare negativ[, se va afiga mesajul'trIu Exrsri". nxai jos reprezentat in calculul 85
8

Culegere Probleme Inforamtica C++

Jan 04, 2016

Download

Documents

Robert Ursu

Culegere Probleme Inforamtica C++
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Culegere Probleme Inforamtica C++

ntat fnb s-a

\

Urntdtoarele doud probleme se referd la algoritnrul de

pseudocod, in care toate variabilele identificd nuntere naturale.

citegte n;k<-0 ;

pentru (ie1 ,2 ,...,f,) execut5pentru ( j e1 ,'2 , .* , j-') execut5inceputscrie i+j;.k<-k*l ;

sfArgit;scrie k;

. >5. (Bacalaureat iulie 2009, varianta 64), Dacd de la tastafur[ se citegte valoarea a=4, care este antepenultimul numir ahgat.

)6. Dacd de la tastaturi se citegte valoarea n=7, cdte numere se afigeazi in tqtalpe parcursul execu$ei algoritmului ?

)7. (Bacalaureat iulie 2009, varianta 64)Deduceli ce valoare ar putea fi citi6 in variabila n, astfel incdt numdrul 64 sd fie

afigat de exact 20 de ori.

tema nr, cf.(&3.

Wofifemc prqpuse pentru toate tipurife fe cichtri

> 1. Fiind dat un numAr natural r, scrieli un algoritm pentruexpfeslel E =1r,2+2*3+3*4+. . . *n* (n+1) .

)2. (Bacalaureat iulie 2009, varianta 11)Scrieli un algoritm care citegte de la tastaturd un numdr natural nenul n,

precrun gi n numere naturale, cu maximum noui cifre fiecare, apoi calculeazd gi

afisgazd pe ecran,.cdte numere prime conline girul citit.Exemplu: pentru n=5 $i valorile 12 3 9 1 L se va afiga pe eiran

)3. (Bacalaureat iulie 2008, varianta 77)Se citesc de la tastafird un numdr natural n gi un gir de n numere lntregi.

Scriefi un algoritm eficient care determind cea mai mare valoare negativd dintre celecitite, precum qi numlrul de aparilii ale acesteia in cadrul girului. in cazut in care ginrlcitit nu conline nici o valoare negativ[, se va afiga mesajul'trIu Exrsri".

nxai jos reprezentat in

calculul

85

Page 2: Culegere Probleme Inforamtica C++

Exemplu: Pentrr n=8 qi numerele (L0,3,-4,-1 ,-4,-9,1,L,-4), se vor afiga

valorile -a gi 3, deoarece -4 este cel mai mare element negativ al qinrlui gi apare de 3 ori.

)4. (Bacalaureat iulie 2008, varianta 53)Se citesc de la tastaturd doud numere naturale n $i p,

(t<n<toOO,1<p<10). Si se afigeze pe ecran, cu spaliu intre ele, acele numerenaturale mai mici sau egale cu n, care au toate cifrele mai mici sau egale cu p.

. Exemplu; pentru n=15 $i P=2, Se vor afiga numerele O r!,2,70 ,!1 'L2.)5. Realizali un algoritm cue afiqeazd "cifra de control" a unui nqmdr

natural, determinatd astfel: se calculeazd suma cifrelor numdrului, apoi sumacifrelor sumei oblinute, g.a.m.d., pdnd c6nd rezultatul este o singurl cifrd,.

)6. Doud numere naturale a gi b se numesc "gemene" dacd sunt pri-" gi

diferenla lor in modul este 2. Sd se afigeze perechile de numere "gemene" care se

pot forma pe mullimea numerelor naturale mai mici sau egale cu n, unds valoarealui n se citepte de la taStaturd. Se cere un algoritm eficient de rezolvare.

Indicalii: Pentru a evita tistarea condiliei privitoare la diferenla in modul este

suficient sid analizdm perechile de nuntere de fornta (i,i+2) cu i=7,2,...,n-2, Sipentru fiecare pereche sd testdm dacd i ;i i+2 sutlt ambele numere prime. Reali,1areaunui algoritm eficient presupune:

- sd nu se parcurgd divizorii inutili (vezi varianta at cicltt cu test initial aalgoritmului de numdr p-rim);

- sd nu se mai tisteze i+2 dacd i nu este print

)7. Se citegte de la tastaturd un numdr natural n (100<=n<=999). Dintrenumerele naturale mai mici sau egale cu n, sb se afigeze acelea cafe sunt divizibilecu suma cifrelor lor.

)8. Dintre primele n numere naturale, sb se afigeze acelea care au exact kdivizori. Valcirile lui n gi k se citesc de la tastaturd.

)9. (Bacalaureat iulie 2009, varianta 97 - enun! adaptat)Se citesc de la bsbtud doui numere naturale x gi y, cu madm pafiu cifre fiecare.

Saie,ti un algpritn care tipdrqte pe ecran suma numerelor pare cuprinse inte x gi y inchsiv.Exemplu: perntru x=12 $i Y=23, se va afiga valoarea 102.

>10. Sd se afigeze toate numerele perfecte siruate in intervalul [p,q], pr""n-gi numdrul acestora, unde p gi q sunt doud numere naturale date (vezi problema 4).

>11. Sd se afiprerunercledme de tei cifie cae citite inves swf totrumeeprime.

)12. Se dau doud numere natural n $i p. Sd se stabileascd dac6 p esteprim gi in caz afirmativ sd se afigeze la ce putere apare p ca factor prim indescompunerea numdrului n in factori primi.

)13. Un numdr natural se nume$te perfect dacd este egal cu sumadivizorilor sdi" Exemplu! 6=L,*2+3. Sd se verifice dacd un numir natural dat esteperfect, afigdndu-se un mesaj corespunz6tor.

86

> 14. Intr-o urndinscris un numdr naturalcel pulin m bile albe sau

operafie, citind de la tastr

afiga dacd cel mai mic nu

) 15. -Se

citegte

naturale cuprinse intre 0

proprietatea cd cele dou[

> 16. (bacalaureReahza[t un algo

din exact doud cifre. Resl

cdte cinci pe fiecare linie.

>17. Se dau dotprim gi in caz afirmativdescompunerea numdrulu

> 18. (BacalaureiRealiza\i un al-Pt

alcdtuite din exact doud ci

ecran, cdte trei pe fiecare i

> 19. (Bacalaure:Scriefi un algoritr

girului lui Fibonacci (0,:afigafi pe aceeagi linie a ec

>20. Se d[ un $irtimp cdt nu s-a introdusperechile de numere conperechii este egal cu dublu

>21. Pentru unexpresiile de mai jos:

a) E=L2 +42b) E=1.3.:c) E=1+1d) E = 2 4 +

>22, Se citesc c

valoareasumei: s = x

>23. Un numdrdivizorilor sdi. Exemplu:perfect, afigdndu-se un me

Page 3: Culegere Probleme Inforamtica C++

'14. Intr-c urnd se gdsesc mai multe bile ropii gi al!:e, pe fiecare bil5 frind?nscris un numdr natural. Sd se extragd pe rdnd bitre, pdnd cdtrd. sm sccs din um6cei pulin nr bile albe sau n 'nile rogii. Scrieli un program care si ieaz[ aceastd

operalie, citind de ia tastaturd numdrul fieclrei bile extrase. in final, programul vaafiqa dacd cel mai mic nurn5r extras se gdseqte pe o bili aibd sau roqie.

1 . Se citegte de ia tastatur6 un ?ntreg n, apr:i n perechi de numerenaturale cuprinse intre 0 gi a0oO0. l)intre perechile citite si se afigeze acelea cuproprietatea cd cele doul eiemente ale perechii aceeagi surnd a cifrelor.

1 .( acalaureatiulie 0,varianta3 )Reaiizali un aigoritm care afigeazi pe ecran toate nunlerele pare alc6tuite

din exact doui cifre. Respectlvele valori vor fi serise pe mai multe linii de ecran,c6te cinci pe fiecare iinie, separate prin cdte un spafiu.

f7. Se dau doud numere natural n gi . Sd se stabileascd dael este

prim qi in caz afirmativ sE se afigeze ia ce putere are p ca factor print indesco unerea num5.rului n in factori prin"ri"

I .( acalaureatiulie 0 ,varianta 't)

Realizali un aigaritm care afigeazd pe ecran toate numerele imparealcdtuite din exact doud cifre. Respectivele valori vor fi scrise pe mai lte iinii deecran, c6te trei pe fiecare linie, separate prin cdte un spaliu.

1 . ( acalaureat iulie , varianta ]Scrieli un algoritm care afigeaz6 pe ecran primii zo de termeni impari ai

girului iui Fibonacci (0.i,L,2,3,5, ,L3, L,.."), cAte F pe o linie. Termeniiafiqa{i pe aceeagi linie a ecr uiui vor fi separa{i intre ei prin cdte un spafiu.

. Se dE un gir de numere eare se citesc pe rdnd de la tastatrud, at a

ti cdt nu s-a introdus valoarea 0 (care nu face parte din qir). Sd se afiqezeperechile de numere consecutiv citite cu proprietatea cd al doilea etrement alperechii este egal cu dublul pri lui.

1. Pentru un numdr intreg n dat, s[ se calculeze fiecare dintreexpresiile de mai.jos:

\'E'ai

!

+n"tra .

dF)* 1''rd.d-Af\f

. Se citesc de la tastaturd doud nu ere intregi x qi n. Calcula{i

valoareasumei: s = x + i: * i: +... + -o':'-3 s { -r)23. Un numdr natural se numegie petfect dacd este egal cu suma

divizorilor sdi. Exemplu"' 6=1+2*3. Sd se verifice dac6 un 5r natural dat esteperfect, afiqdn -se un mesaj corespunzdtor.

87

Page 4: Culegere Probleme Inforamtica C++

)24. Intr-o urnd se gdsesc mai multe bile roqii qi albe, pe fiecare bild fiindinscris un numdr natural. Sd se extragd pe rdnd bile, pana cani am scos din umlcel pufin m bile albe sau n bile rogii. Scrieli un program care simuleazr aceastboperafie, citind de la tastaturd numdrul fiecdrei bile extrase. in final, programul vaafiga dacd cel mai mic numdr extras se gdsegte pe o bild alb6 sau .ogi.. ,

)25. Se citegte de la tastaturd un intreg n, apoi n perechi ds numerenaturale cuprinse intre 0 gi 30000. Dintre perechile citite sd se afigeze acelea cuproprietatea cd cele doud elemente ale perechii au aceeagi sumd a cifrelor.

)26. (Bacalaureat iulie 2009, varianta g7 - enun! adaptat)se citesc de la tastaturd doud numere naturale " gi u unde a contine cel

mult noud cifre, iar b este strict mai mic dec6t numdrul de cifre u rui ".

s.ri"!i *algoritm care inlocuiegte cu 0 ultimele b cifre ale num[rului a qi afigeazi pe ecranvaloarea astfel oblinutd.

)27. (Bacalaureat iulie 2008, varianta 79)Scrie{i un algoritm care elimind prima gi ultima cifr6 dintr-un numE"r natural

n citit de la tastaturd. Numdrul dat poate avea minim : gi maxim nou6 cifre. .

Exemplu: pentru n=32395g, se va afiga pe ecran num[ru] 2395.

)28. (Bacalaureat iulie 2009, varianta 97)

> 31 . (BacaliScriefi un alg

noud cifre qi o cifidetermind gi afiqeazd, r

Exennplu: pergi c=3 algoritrnul treL

>32, (BacalrSe citesc de lr

numdr natural formatRealizali un algoritmcadrul num6rului n, Icifra c1 nu se regdseg

Exemplu: pent

> 33. (BacaleScrieli un alg,

cuprinse in intervalulproprietatea cd partea

zecimal sunt cifrele nr

Exemplu: pentIndicalii: Mai

partea intreagd 0 Si'ptfn mod repetat pe y lc

cdutat va -fi x* z. Penx*z:72+0.534:72. !

> 34. (Bacala

" Se citegte de Icifre in partea intreagalgoritm care construinversarea intre ele a p

Exemplu: dad,t

Se citegte de la tastatur[ un numdr natural n cu maxim noud cifre,un algoritm care afrseaza pe ecran num[ru] care se obline cu cifrele de rangale lui n luate in ordine naturald, urmate de cifrele de rang par luate ininversd. Prin rangul unei cifre ?nfelegem po zilia pe care o ocupd cifra innumdrului, numdratl de la dreap ta la stdnga

Exemplu: p:sntru n=275839, algorit-,rl va tipdri numdrul Ze 9352.

)29. (Bacalaureat iulid 200g, varianta 9g)Se citeqte de la tastaturd trn numdr natural n alcdtuit din cel mult opt cifre.

scrieti un algoritrn. care afrqeazd mesajul "Dc' dac6 num[ru] dat are,toate cifreleidentice, respectiv 't{u' in caz contrat.

Exemplu: p"lm n=77777, se va afiga niesajul ,.DA"

}30. (Bacalaureat iulie 200g, varianta 44)Se citesc de la tastaturi doud numere naturale n gi k, unde n poate avea

maxim noud cifre gi o<*<ro. scriefi un algoritm care airseazd" numdrur obtinutprin eliminarea primelor k cifre ale lui n. Dacd valoarea lui t< este mai mare decdtnumdrul de cifre ale lui _n, se ve afiga mesajul ,,rMposrBrL".

Scriefilmparordinecadrul

88

Page 5: Culegere Probleme Inforamtica C++

31. ( acalaureat iulie , varianta 7 - enun! ada tat).

scrieli un aigoritrn care citeqte de la tastaturd un numdr natural m cu maxim

nou5 cifre gi o cifrd zecimal| c apartinand ilimii {0,1,2,. '.,9}, apoi

detsrminl gi afiqeazd num5rul de cifre ale iui n care aparlin intervalului [c-1 , c+1] '

Exentpht:pentrun=1233qic=3sevaafigavaloarea3,iarpentrun=650gi e=3 algoritmul trebuie sd tipdreascd valoarea 0'

32. ( acataureatiulie2, varianta *enunta aptat)

Se citesc de la tastaturl valorile a trei variabiie n, cl 9i c2, unde n este un

nurnSr natural fonnat din cel lt nou6 cifre, iar el- qi c2 memoreaz[ c6te o cifr6'

Realiza{i un algoritm care inlocuiepte cu cifra e2 fiecare apariiie a cifrei c1 in

cadrui numSrului n, qi afigeazl pe eelan valoarea astfel ob{inutd' ln cazul in care

cifra c1 nu se regdseqte in numarul n, valoarea lui n va rdmdne nemodificat[.

Exanplu..pen=149448,e1=4$ie2=2aigoriftnulvaafiqavaloarea729228.

33.( acalaureatiulie 0,varianta 7-er-lun!adaptat)

Sciieliun algoritrn care citegte cie ia tastatur[ doud nuffrere naturale x qi y,

cuprinse in inter.valul [1,L00], apoi fortneazdin memorie numin:l real ce are

proprietatea c5 partea sa intreaga este egald cu x, iar cifieie aflate dupl punctul

iecimai sunt cifrele numdrului y in aceeaqi ordine'

Exempht: pe x=12 $i ]-534' pe ecran hebuie s[ se afigeze 12 '534'Indiialii.

-Mai int6i formdm in memorie numdrul z:a ' y, adicd numdtul care are

partea it Si partea zecimald alcdtui

in mod t y la i0, Pdnd cdnd cdnlcdutat va fi x+2. Pentnr exernplul din en

xaz:72+0.534:12-534.B'

H

H

[:

h

!rh

b.

!l-

)il

hr,,,

Page 6: Culegere Probleme Inforamtica C++

>36. SA se determine toate numerele de trei cifre cu proprietatea cd suma

inverselor cifrelor lor este un numdr subunitar, iar cifrele sunt in ordine strictcrescdtoare. Exemp lu : Numdrul 2 45 : l / 5 +1 1 aa1 / 2:fraclie subunitarS.

posibilitdlile de a scrie ctfrq in ordinea crescdtoare

pi cifrelor este Ltn numdr subunitar. In caz afirmativ se

va cfre.

)37. Se citesc ur numdr natural n gi coeficienfii a,b,c, ai unei ecualii de

gradul II de forma ax2+bx+c=o . Fdrd a rezolva ecualia. sd se calculeze valoatea

expresiei S,=x1'*x2', unde x1 gi x2 sunt rdddcinile ecualiei.la,tia lui Wiettet. Deoarece xl este rdddcind,

x22+6v-+-:: (]). ,lduncind cele doud relaliiim relayia ll1 ctt x; Si relalia (2) cu x2 dupd

eneralizdnd, tont tedea aSntbSna*cSn-2:0,

>38. S[ se calculeze puterea la care apare numdrul prim p indescompunerea numdrului 1*2*3*. . .*n, pentru un n nanlral dat.

Exemplu: pentru n=35 $i p=3, se va obline puterea 15.

Indicalii. Fac.em mai intdi observayia cd pentnt ,n1 n foarte mare, este

imposibild memorarea produsului 1*2*3*. . . *n ca nunrar inn'eg. De aceea, rezolvarea

trebuie sd evite folosirea acestui produs. Dgcd p este numdr Prim, atunci din "p divide

a*b" rezultd "p divide a"'saLt "p divide b". in consecinta vom determina Puterea lui p indezvoltarea fiecdnti factor al produsului 1* 2 * . . . --: ,il '. ofi tnsuma puterile oblinute.

Cum p este prim, vom hta in considerare nuntai .f-actorii de forma k*p, unde k va lua

valori de la 1 pdnd la "parte tntreagd din n,/p".

)39. (Bacalaureat iulie 2008, varianta 51)

Se citegte de la tastaturd un num[r narural nenul n cu cel mult noue cifre.

Scrieli un algoritm care gdse$te gi afigeazd un nuxner naturai k astfel incit produsul

1*2*3*...*k-1*k sA aibd o valoare cdt mai apropiati, de n-

Exemplu: pentru n=25 se va obline k=4 (1*2*3* 4=24), iar pentru n=119programul va afiga numdrul 5.

)40. (Bacalaureat iulie 2008, varianta 17)

. Scrieli un algorifrn care afrqeazd pe trLreL separate prin virguld, toatenumerele naturale de patru cifre care au prima cr.aa s'rict mai micd decdt a doua, a

doua cifrd strict mai mic6 decdt a treia, gi a treia c:tE s:lct mai micd decdt a patra.

Exemplu: cdteva astfel de numere ar fi 1201. :202. L203,..., 8979, 8989.Irulicalii: pentru a ob1ine toate nttnterele ic -';:,rmJ 3-32c3c4 care sd respecte

monotonia doritd, adicd c11c2, c2)cj gl c;(:.. si::ot :raieda patru cicluri imbricate,

incarecontoarelevorluavalorile ct:7,...,! :;--:---,...,9, cj=0,...,c2-7Sic4:c 3* 1 1 . . ., 9. Numerele cdtttate sunt de -forma ::' - : -- - - :.- - i 3 + c a* 7 0 +c 4.

)41, (Bacalaureat iulie 2008, varianta 61)

Se citegte de la tastaturd un numfu le:r::- k t, 1(=k(=4). Sd se afi$eze

toate palindroamele de cinci cifre (adicd nume:ele -Luale de forma c1c2c3c4c5

pentru car€ c1=s, 9i c2=ca) cu proprietatea ci :::t:c- in valoare absolutd dintre

90

oricare dou[ cifre ald'

ietL,2,3,4)).Indica{ii: sirtgt

(iri-kri,i-kri) (7,Folosim un ciclu in c:are

fiecare i, afiSnm numere

Si condiliile de existenld t

>42. (BacalarScrieli un prot

natural n (f (n(3000Cprimi a lui n.

Exemplu: pentriar pentru numdrul 6 0 s

ts43",(BacalaLSe citesc de la

a$ibqiseceres[sean sunt multipli a lui a

a:12, b:8., rcztltatul a

multipli a lui 12 dar nua) Alegefi o rr

metoda aleasd justifi carb) Scrieli proga

> 44. (Bacalaua) Scrieli un pr

vedere al duratei de excifre identice, mai nn(-:2.000 " 000.000 .

De exemplu penb) Explicaltin lin

>45. (BacalauScrieli un prog

naturale nenule n Ei m (

a, b de numere nafuralmultiplu comun egal (

coresp unzdtoare fi ec 6r e

De exemplu, pr(1 6) (2 3)

>46. (BacalarSe citesc de la

gtie cd se citesc cel puc6nd se citegte un numiCIC++ care citeqte nu

Page 7: Culegere Probleme Inforamtica C++

oricale dou[ cifre aldturate este.,egald cu k (adicd lcl-ci*11=k, pentru oriceLell ,2,3,41).

Indicalii: singurele numere care satisfac proprietatea cerutd au ina din formele(i,i-k,i,i-k,i) (i,i-k,i-2*k,i-k,i) (i,i+k,i,i+k;i) (i,i+k,i+2*k,i+k,i).Folosim un ciclu in care contorul i va primi ca valori cifrele zecimale de Ia I la g; penti/iecare i, afisdnt numerele ce se tncadreazd infonnele de mai sw, avdnd ircd grf d sd punenrSi condiliile de existeild a lor; i-k>:0, 1-2"112=6, i+k<:g, i+2*k<:9.

)42. (Bacalaureat iulie 2008, varianta 78)Scrieli un program Pascal CIC++ care citeqte de la tastaturd un num6r

natural n (1<n<30000) gi care determind gi afiqeazd pe ecran numdrul divizorilorprimi a lui n.

Exemplu: pentlu n:24 se afiqeazd,2 (deoarece are 2 divizori primi: Z 9i S),iar pentru numdrul 60 se afigeazd 3 (deoarece are 3 divizori primi: 2, 3 $i 5).

)43..(Bacalaureat iulie 2008, varianta 60)Se citesc de la tastaturd trei numere naturale de cel mult opt cifre fiecare n,

a gi u gi se cere sd se afiqeze pe ecran cdte numere naturale mai mici sau egale cun sunt rnultipli a lui a, dar nu sunt multipli a lui t. De exemplu, dacd n:100,a:!2,b:8' rezultatul afigat va fi a (numerele mai mici sau egale cu 1OO care suntmultipli a lui te dar nu qi a lui I sunt 12, 36, 60, B4).

a,) Alegefi o metodd eficientd de rezolvare 9i descrieli in limbaj naturalmetoda aleasd justificdnd eficienla acesteia (4-6 rdnduri)

b) Scrie{i programul Pascal / CIC++ corespunzdtor metodei alese la punctul a-

)44. (Bacalaureat iulie 2008, varianta 62)a) Scrieli un program in limbajul Pascal I clc++, eficient din punctul de

vedere al duratei de executare, care aftgeazd toate numerele naturale formate dincifre identice, mai mari decdt L0 gi mai mici dec6t 'o valoare datd n,n1:2.000. 000.000 .

De exemplu pentu n:l95, se afiqeazI: aL,22,33,44,55, 66, 71, gg,99, 111.b) Explica$intimbaj natural metodautilizata jusfficdndeficienjaei (a-6renduri)

)45. (Bacalaureat iulie 2008, Varianta 64)Scrieli un program Pascal / clc++ care citegte de la tastatur[ doud numere

naturale nenule n gi m (n<100, m<100), determind gi afigezd pe ecran toate perechilea, b de numere naturale nenule distincte, cel mult egale cu n, care au cel mai micmultiplu comdn egal cu rn. Perechile se vor afiga pe cate o linie, iar numerelecorespunzitoare fiecdrei perechi vor fi separate print-un spaliu, ca in exemplu.'

De exemplu, pentru n:6 $i rn:6 se afiSeazl perechile:(1 6) (2 3) (2 6) (3 6)

)46. (Bacalaureat iulie 2008, varianta 78)Se citesc de la tastaturd mai multe numere naturale de cel mult 3 cifre. Se

qtie cd se citesc cel pulin 2 nurnere gi ci citirea continud, numdr cu numir, p6n6cdnd se citegte un numdr egal cu primul numdr citit. se se scrie un program pascal,clc++ care citegte numerele gi afigeaz[ pe ecran media aritmeticd a numerelor

91

.it

Page 8: Culegere Probleme Inforamtica C++

pare citite precum gi numdrul acestora. Se va afiga mesajul NU EXISTA dacd nuexistd nici un numdr par printre cele citite. Alegeli o metodd de rezolvare care vagestiona eficient memoria.

De exemplu, dacd se citesc pe rdnd numerele 5

afiga pe ecran valorile 5 . 5 $i 4.

)47. (Bacalaureat iulie 2008, varianta 95)Scrieli un program care citegte de la tastaturd doud numere naturale a gi b

(0<a, b<200000000) gi in cazul in care existd cel pulin o aceeagi cifrd ?n ambele

nrunere, afrgeazdmesajul DA, ia. in caz contrar aftqeazdmesajul NU.'De exemplu, pentru a:83 $i b:119 se va afiqa pe ecran rnesajul NU, iar

pentru a:5003 gi u:zzO se va afiqa DA.

)48. Se citesc de la tastaturd mai multe giruri de numere intregi, fiecaregir termindndu-se cu valoarea o. Citirea se incheie prin introducerea de doud oriconsgcutive a valorii o. Sd se afigeze elernentul maxim din fiecare gir, precum gi

maximul tuturor qirurilor.Indicalii: Pentru a asilura tncheierea citirii la intdlnirea a doud zerouri

consecutive proceddm astfel: in ciclul de citire, inainte de. citirea unui numdr invariabila x salvdm x-ul citit l.a pasul anter'ior intr-o variabild prec cu sensul de"tennen precedent"(inilial citim primul x inainte de ciclu Si prec<-x). Astfel, citirea se

incheie tn momentul in care prec=O Si x=0.Folosim doud variabile ll.ax Si maxg, tn care vom reline maximul fiecdrui Sir gi

maximul global. Qupd citireafiecdrui nou x dacd acesta este'diferil de 0 actualizdntmax (prin c.omparare cu max fu la pasul anterior, unde inilial maxe-rt&JfiMl), iar laintdlnirea valorii 0 actualizdm similar maxg (prin comparare cu max).

92

g ? 7 9 6 I s sevor

,Vom incepe cexemplifica structura g(

#include (iostrei

void main otcoutcout

" Ifn exe!" foarte

Vom analiza p(program.

Ca orice limba,predefinite $i are o Sirnumesc cuvinte cheie. .

cheie: includ€, void,de.cuvinte cheie, care vo

Dupd cum dejarnai multe etape. in cadnFiecare instrucfiune este

in gen eral,un prconstante $i variabile.parcursul execuliei prolproprietatea cd igi poateun nume sub 'care esteidentificator de variabiHfel de date, singurul sducum vom vedea ceva ma

exempl