Sunteți pe pagina 1din 8

Informatica clasa a IX a

Probleme diverse
1) Pe o mas de biliard sunt bile albe, roii i verzi. Din fiecare culoare sunt bile de dou
dimensiuni: mari i mici. S se afieze cte bile sunt n total pe masa de biliard. n !uctor
vrea s"i spune#i care bile sunt mai multe , cele mici sau cele mari, afind numrul lor. De ce
culoare sunt bilele cele mai numeroase$ Preciza#i numrul lor. %&emplu: Date de intrare 'r.
bile albe mici: ( 'r. bile albe mari: ) 'r. bile rosii mici: * 'r. bile rosii mari: + 'r. bile verzi
mici: ) 'r. bile verzi mari: + Date de ieire ,otalul bilelor: *- .ari: ** bile /erzi: - bile
0111.contaminare.ro2.
2) 3a ferma de 4ini 5opanul este democra#ie. 6iecare 4in primete e&act acelai numr de
boabe de porumb. 5ele care nu pot fi mpr#ite vor fi primite de curcanul 5lapon. S se spun
cine a primit mai multe boabe i cu ct. 7n caz de e4alitate, se va afia numrul de boabe
primite i cuvntul 8e4alitate8. Datele se vor citi n urmtoarea ordine: numrul de 4ini, iar
dupa aceea numrul de boabe de porumb. %&emplu: Date de intrare *99 +9:9 Date de
ieire: 5urcanul mai mult cu *9 boabe. 0111.contaminare.ro2.
3) S se afieze toate numerele de forma a()a care se mpart e&act la ;.
4) n lift coboar de la eta!ul a la eta!ul b. <fia#i toate eta!ele pe care le parcur4e. %&emplu :
Date de intrare = ) Date de ieire = - ; : + ).
5) S se afieze perec>ile de numere a i b care satisfac rela#iile a?b@*999A *- divide pe a i
*B divide pe b.
#include<fstream.h>
int main()
{
unsined a!b!i"
ifstream f1(#date.in#)"
ofstream f2(#date.out#)"
f1>>a>>b"
for(i$1"i<$1%%%&1'"i()
{ a$i)1'" b$1%%%*a"
if(b+1,$$%)
f2<<a<<- .<<b<</0n/"
1
f1.close()"f2.close()"
return %"
1
2) S se 4enereze primii n termeni ai irului *,*,(,(,(,),),),),+,+,+,+,+,C.
#include<fstream.h>
int main()
{
unsined n!i!3!4"
ifstream f1(#date.in#)"
ofstream f2(#date.out#)"
f1>>n"
for(i$1!4$1"4<$n"i(()
Informatica clasa a IX a
for(3$1"3<$i(1 55 4<$n"3(()
{
f2<<i<<# #"4(("
1
f1.close()"f2.close()"
return %"
1
') S se afieze primii n termeni ai irului lui 6ibonacci : 9,*,*,(,),:,=,*),(*C.
#include<fstream.h>
int main()
{
unsined n!i!a!b"
ifstream f1(#date.in#)"
ofstream f2(#date.out#)"
f1>>n"a$%"b$1"f2<<a<<- <<b<<- ."
for(i$1"4<$n*2 "i(()
{
c$a(b"
f2<<c<<# #" a$b" b$c"
1
f1.close()"f2.close()"
return %"
1
6) Se d un numr. S se scrie, dac se poate, ca sum de dou numere impare. %&emple : date
de intrare (+ Date de ieire (+@*?() (+@)?(* (+@:?*B (+@-?*- (+@B?*:
(+@**?*) A Date de intrare )) Date de ieire 'u se poate.
,) Se d un numr. S se scrie, dac este posibil, ca sum de dou numere consecutive.
%&emple : Date de intrare : Date de ieire :@(?) A Date de intrare ; Date de ieire 'u se
poate.
1%) Dndu"se un numr natural n, s se 4seasc toate posibilit#ile de scriere a acestui numr
ca sum de numere consecutive. %&emplu : Date de intrare *: Date de ieire
*:@*?(?)?+?: *:@+?:?; *:@-?=.
11) S se afieze to#i divizorii unui numr natural dat. %&emplu : Date de intrare *( Date de
ieire * ( ) + ; *(.
12) Se introduce un numr. S se verifice dac este numr prim. %&emple: Date de intrare ()
date de ieire Prim A Date de intrare +: Date de ieire 'u este prim.
13) S se afieze primele n numere prime. %&emplu: Date de intrare n@; Date de ieire ( ) :
- ** *).
14) S se determine toate tripletele de numere a, b, c cu propriet#ile: *DaDbDcD*99A a?b?c se
divide cu *9.
15) S se afieze toate numerele de dou cifre care adunate cu rsturnatul lor dau ::.
12) Se cere listarea numerelor cuprinse ntre *99 i :BB, avnd cifrele n ordine cresctoare i
suma cifrelor e4al cu *=.
Informatica clasa a IX a
1') S se nlocuiasc literele cu cifre n scderea urmtoare:
a b c b e"

e d a b
"""""""""""

e b c e
16) Se introduc succesiv numere nenule pn la introducerea numrului 9. S se afieze suma
tuturor numerelor introduse. %&emplu: Date de intrare ) : + ( 9 Date de ieire *+.
1,) Se citesc numere de la tastatur pn la introducerea unui numr impar divizibil cu ). S se
afieze suma tuturor numerelor pare introduse. %&emplu: Date de intrare - + ; ( * B
Date de ieire *(.
2%) Se dau numerele a i n. S se afieze numrul a urmat de n zerouri. %&emplu : Date de
intrare a@)+ n@: Date de ieire )+99999.
21) n copac crete zilnic cu 9.-: cm. 3a plantare avea * m. S se afieze dup cte zile a!un4e
la nl#imea de *( m. 3a ce nl#ime a!un4e dup o lun 0)9 zile2$
22) Pentru a o elibera pe Ileana 5osnzeana, 6t"6rumos trebuie s parcur4 & Em. %l mer4e
zilnic a Em, dar Fna"cea"Gea l duce n fiecare noapte cu b Em napoi, bDa. Dup cte zile
o elibereaz$ %&emplu: Date de intrare &@*9 a@+ b@* Date de ieire ) zile.
23) < fost odat un balaur cu ; capete. 7ntr"o zi 6t 6rumos s"a suprat i i"a tiat un cap. Peste
noapte i"au crescut alte ; capete la loc. < doua zi 6t 6rumos iar i"a tiat un cap dar peste
noapte balaurului i"au crescut alte ; capete C i tot aa timp de n zile. 7n cea de a 0n?*2"a
zi, 6t 6rumos s"a plictisit i a plecat acasH Scrie#i un pro4ram care citete de la tastatur n,
numrul de zile, i care afieaz pe ecran cte capete avea balaurul dup n zile. %&emplu:
pentru n@) se va afia *: capete. 0I'I (99( cl.a /"a2
24) < fost odat ca niciodat, a fost un can4ur care cretea ntr"un an precum al#ii n zece. 7ntr"o
zi a nceput s fac srituri. Ji a srit pentru nceput - metri. < doua zi a srit, n plus fa#
de ziua precedent, de zece ori mai mult. 7n a treia zi a reuit s sar, n plus fa# de prima
zi, de zece ori mai mult dect n ziua a doua. 7n a patra zi a srit, n plus fa# de prima zi,
de zece ori mai mult dect n ziua a treia. Ji tot aa mai departe. Scrie#i un pro4ram care
calculeaz c#i metri a srit can4urul, n total, n n zile. %&emplu: pentru n@) se va afia
=;* m. 0I'I 6ocani (99) cl.a /"a2
25) Se citesc de la tastatur numere naturale pn cnd suma numerelor pare este mai mare
dect E. 5te numere au fost introduse i care este suma numerelor pare$ %&emplu: Date de
intrare: K@*( : = * ( ( ) ; Date de ieire: - 0numere2 *= 0suma celor pare2
0 P.'.5. Lucureti, 5upa .r#ior (99:2
22) Se citesc numere naturale strict pozitive pn la ntlnirea numrului 9. S se numere cte
dintre ele sunt pare, presupunnd c cel pu#in primul element este nenul. %&emplu: Date de
intrare + ) ; : - - 9 Date de ieire ( numere pare.
2') Se introduc datele de natere a n copii, sub forma an, numr lun, zi. S se afieze c#i copii
sunt nscu#i pe * iunie i c#i copii sunt nscu#i n *BB+, *BB: i *BB;. %&emplu: Date de
intrare n@) an@*BB+ luna@*( zi@) an@*BB9 luna@; zi@* an@*BB: luna@; zi@* Date de
ieire ( copii nscu#i la * iunie ( copii nscu#i n *BB+ *BB: *BB;.
Informatica clasa a IX a
26) Se citesc de la tastatur numere ntre4i pozitive atta timp ct suma lor nu depete *999.
S se scrie un pro4ram care s afieze cea mai mic i cea mai mare valoare a acestor
numere. %&emplu: ::9 )+: *99 +: Date de ieire ma&@::9 min@*99.
2,) Se citesc mediile a n elevi, ca numere reale. S se afieze cea mai mare i cea mai mic
medie. S se verifice dac sunt cori4en#i. %&emplu : Date de intrare n@+ B.:9 +.(: B.;;
;.)) Date de ieire ma&@B.;; min@+.(: * cori4ent.
3%) Se dau trei numere a,b,c, de cte dou cifre, nenule, fiecare. 6olosind cifrele unit#ilor celor
trei numere se va 4enera un numr & de trei cifre, iar cu cifrele zecilor se va 4enera un
numr M de trei cifre. S se afieze & i M. %&emplu : date de intrare a@(+ b@*) c@;+ date
de ieire &@+)+ M@(*;.
31) S se afieze toate numerele palindroame mai mari dect *9 i mai mici dect un numr
dat, n. %&emplu : Date de intrare n@**9 date de ieire ** (( )) ++ :: ;; -- == BB *9*.
32) Se introduce un numr natural n cu ma&im = cifre, nenule i distincte, mai mici ca B. S se
afieze cifrele numrului n ordine descresctoare. Indica#ie: fiecare cifr c se nmul#ete cu
*9c, se adun aceste numere i se afieaz fr zerouri. %&emplu: pentru n@):+, s"ar face
urmtoarele calcule: +N*9+?:N*9:?)N*9)@:+)99 i se va afia :+) .
33) Dat un numr ntre4 de ma&im B cifre, s se afieze numrul de apari#ii al fiecrei cifre.
%&emplu : Date de intrare );+B9*(** Date de ieire 9 apare de * ori * apare de ) ori (
apare de * ori ) apare de * ori + apare de * ori : apare de 9 ori ; apare de * ori -
apare de 9 ori = apare de 9 ori B apare de * ori.
34) <fia#i cte cifre distincte con#ine un numr nenul. %&emplu : date de intrare ()+)() Date
de ieire ) cifre.
35) Se dau dou numere naturale a,b cu ma&im B cifre. a2 S se determine cifrele distincte
comune numerelor a i b. b2 S se afieze numrul cel mai mare format din toate
cifrele lui a i b
%&emplu : pentru a@(**: b@(B9(: se va afia a2 ( : b2 B::(((**9 0IOI, clasa a /"a,
(99+2
32) Se introduc dou numere, a i b, aDbD:999999. S se afieze ultima cifr a sumei tuturor
numerelor aflate ntre a i b. %&emple: Date de intrare a@*( b@*+ date de ieire B A date de
intrare a@*999999 b@)999999 date de ieire 9.
3') Se dau numitorul i numrtorul unei frac#ii. S se simplifice, dac se poate, i s se afieze
frac#ia simplificat. %&emplu : Date de intrare *( )( Date de ieire )P=.
36) Se dau trei numere. Determina#i i afia#i cmmmdc al lor. %&emplu : Date de intrare *( )(
)= Date de ieire (.
3,) Se d numrul n, s se afieze toate numerele mai mici ca el prime cu el. %&emplu : date de
intrare n@*9 date de ieire * ) - B.
4%) 7ntr"o tabr particip b bie#i i f fete. Se or4anizeaz un !oc la care trebuie s participe un
numr ct mai mare de ec>ipe, formate din acelai numr nrb de bie#i i nrf de fete.
,rebuie s scrie#i un pro4ram care determin numrul ma&im de ec>ipe care se pot forma i
numrul nrb de bie#i i, respectiv numrul nrf de fete, care intr n componen#e fiecrei
ec>ipe. Dac nu se pot forma cel pu#in dou ec>ipe identice, afia#i 'u ne putem !uca.
%&emple: pentru b@*9 f@*: se va afia: : ec>ipe cu ( baieti ) fete, pentru b@*( f@(: se
va afia 'u ne putem !uca.
41) Se citesc de la tastatur patru numere ntre4i diferite de zero. 'umerele reprezint n
ordinea citirii: numrtorul i numitorul primei frac#ii, respectiv numrtorul i numitorul
celei de a doua frac#ii. S se adune cele doua frac#ii i s se afieze numrtorul i
Informatica clasa a IX a
numitorul sumei. %&emplu: Date de intrare: ; *= *( (+ Date de ieire: : ;.
42) Se dau n numere. 7n cte zerouri se va termina produsul lor$ %&emplu : date de intrare n@+
: + *9 (: date de ieire ) zerouri.
43) Se d un numr natural n, nD@*99 i o cifr E din mul#imea Q(,),:,-R. Se cere s se afieze
e&ponentul lui E n descompunerea n factori primi a produsului *N(N)NCNn. %&emplu:
date de intrare n@= E@( date de ieire -. 0I'I (99) clasa a /"a2
44) Se introduc temperaturile medii msurate n fiecare lun a unui an. S se afieze valoarea
celei mai mari temperaturi ne4ative i a celei mai mici temperaturi pozitive a acelui an.
%&emplu: date de intrare "+ "; 9 : *9 (9 (+ (: *- = "* "- date de ieire
ma& ne4ative@"* min pozitive@:.
45) Se citete un numr natural n cu cel mult B cifre i se cere s se afieze o piramid format
din cifrele lui astfel: pe prima linie cifra 0sau cifrele2 din mi!loc, pe a doua cele ) 0sau + 2
cifre din mi!loc, etc. pe ultima s fie scris numrul dat. %&emplu: n@()-=:: se va
afia - =
) - = :
( ) - = : :
42) Dat valoarea unui numr natural, se cere s se tipreasc n scriere roman.
4') Se citesc pe rnd caracter cu caracter elementele unei e&presii matematice, caracterele citite
pot fi doar cifre i ?, ", N ,P i @, pn la ntlnirea semnului @. Ipera#iile se fac n ordinea
introducerii lor, fr a se #ine seama de prioritate. 5alculatorul s afieze rezultatul
e&presiei.
46) I broscu# se deplaseaz efectund cte o sritur de lun4ime p cm la fiecare secund.
Dup fiecare n secunde broscu#a devine mai obosit, iar lun4imea sriturii pe care o face se
n!umt#ete. Scrie#i un pro4ram care s citeasc de la tastatur lun4imea ini#ial a
sriturii, p, numrul de secunde dup care broscu#a i in!umt#ete saltul, n, precum i
durata total a deplasrii broscu#ei , 0e&primat n secunde2 i care s determine distan#a
total pe care a parcurs"o broscu#a. Distan#a total determinat va fi afiat pe ecran cu
dou zecimale. Gestric#ii: p, n, , sunt numere naturaleA p, n, ,D)9999A,PnD*; %&emplu
Pentru n@*9, p@(9 i ,@)), distan#a total pe care se deplaseaz broscu#a este ):-.:9 cm.
0I'I, Salaciuc (99*, clasa a /"a2
4,) 3a un concurs de matematic particip elevi din mai multe coli din diferite orae. Pentru a
se putea deosebi ntre ele lucrrile lor, fiecare lucrare este codificat printr"un numr
natural cu ) cifre, s zicem abc, unde a este codul oraului, b este codul colii din oraul a
iar c este codul unui elev din coala b din oraul a. %&.: lucrarea cu codul )(= este lucrarea
elevului cu codul = de la coala cu codul ( din oraul cu codul ). Se cunosc: un cod 0al
lucrrii unui elev T, prietenul nostru2, numrul n de lucrri i codurile acestora. 5erin#: Se
cere s se rezolve cerin#ele:
a2 /erifica#i dac T este premiant sau nu.
b2 Determina#i numrul de premii luate de elevii din oraul lui T
c2 Determina#i numrul de premii luate de elevii din coala lui T
%&emplu: date de intrare codT *() n@+ *)) ((* *() *(: Date de ieire a2 da b2 ) c2 (
0IOI, clasa a /"a, februarie (99+2
5%) I carte are ' pa4ini. Pe pa4inile care au numrul asociat divizibil cu K i nedivizibil cu T
se afl poze. 5erin#: pentru ', K, T citite de la tastatur se cere s se afieze ultima cifr a
Informatica clasa a IX a
sumei numerelor asociate pa4inilor care au poze, dac problema nu are solu#ie se va afia
mesa!ul: ImposibilH
Gestric#ii 9D'D*99999999* 9DK,T'. %&emplu Pentru '@(9, K@), T@( se va afia -
05'I Satu".are (99) clasa a /"a2
51) 7ntr"o parcare sunt n maini care au numere de nmatriculare provizorii 0numere ntre4i, din
cel mult : cifre2. .ainile sunt aezate n ordinea de citire a numerelor de nmatriculare. S
se afieze pozi#iile pe care se afl mainile pentru care suma cifrelor numrului de
nmatriculare este impar 0 nD@ (92.
%&emplu: pt. n@: i numerele de nmatriculare: ;)+ B9(=* ;)-(* )9);* -9B*: se vor
afia pozi#iile: * ) + 05'I Satu".are (99(2
52) 7n vacan# la mare dup ce se plictisete de pla! i ap, Ionic este mai tot timpul n Parcul
de distrac#ii. Dintre toate locurile de distrac#ie el a ales tirul. <stfel, ntr"o sear Ionic
ob#ine S puncte, dup un anumit numr de tra4eri 0cel pu#in dou tra4eri2. Jtiind c la toate
tra4erile efectuate a ob#inut puncte i c dup fiecare tra4ere el pro4reseaz constant, adic
ob#ine cu un punct mai mult dect la tra4erea anterioar, se cere s se determine toate
modalit#ile de ob#inere a puncta!elor 0cu suma lor e4al cu S2. Date de intrare: de la
tastatur se va citi valoarea lui S 0numr natural nenul U BB==--2. Date de ieire: Pentru
fiecare solu#ie se va afia pe cte un rnd numrul de tra4eri i puncta!ul primei tra4eri cu
un spa#iu ntre ele, iar la sfrit pe ultima linie se va afia mesa!ul 'umar solutii, urmat de
numrul de solu#ii. %&emplu: Pentru S@*: pe ecran se va afia: : * ( - ) +
'umr solu#ii ) 0I'I Slciuc (99(2
53) Pentru a descoperi numrul c>eii ce trebuie s o foloseasc pentru a putea s o elibereze pe
Ileana 5osnzeana, 6t"6rumos are de rezolvat urmtoarea problem: Pentru numrul citit
pe u, trebuie s calculeze suma divizorilor i, dac aceast sum este un numr prim,
atunci codul este e4al cu suma cifrelor numrului citit. 7n caz contrar, codul este e4al cu
suma cifrelor impare ale numrului citit. <!uta#i"l pe erou s descopere numrul c>eii.
%&emple: date de intrare +-( date de ieire c>eia - A Date de intrare + date de ieire c>eia
+. 05'I"etapa !ude#ean, (99:2
54) Se dau dou numere avnd acelai numr de cifre. 5te cifre trebuie modificate pentru a
transforma un numr n cellalt$ %&emplu: date de intrare n*@(*): n(@-*)B date de
ieire ( cifre. 05'I"etapa !ude#ean, (99:2
P789:7;<
*. Pentru un n citit din fisierul date.in sa se afiseze in fisierul date.out piramida
*
* (
* ( )
"""""
* ( ) C.n
Gezolvare 5??
#include<fstream.h>
int main()
{
unsined n!i!3"
ifstream f1(#date.in#)"
ofstream f2(#date.out#)"
Informatica clasa a IX a
f1>>n"
for(i$1"i<$n"i(()
{ for(3$1"3<$i"3(()
f2<<3<</0t/"
f2<</0n/"
1
f1.close()"f2.close()"
return %"
1
(. Pentru un n citit din fisierul date.in sa se afiseze in fisierul date.out piramida
*
( (
) ) )
"""""
n n n n n Cn
Gezolvare 5??
#include<fstream.h>
int main()
{
unsined n!i!3"
ifstream f1(#date.in#)"
ofstream f2(#date.out#)"
f1>>n"
for(i$1"i<$n"i(()
{ for(3$1"3<$i"3(()
f2<<i<</0t/"
f2<</0n/"
1
f1.close()"f2.close()"
return %"
1
). Pentru un n citit din fisierul date.in sa se afiseze in fisierul date.out primele n valori
din piramida
*
( )
+ : ;
- = B *9
"""""
Gezolvare 5??
#include<fstream.h>
int main()
{
unsined n!i!3!4"
ifstream f1(#date.in#)"
Informatica clasa a IX a
ofstream f2(#date.out#)"
f1>>n"
for(i$1!4$1"4<$n"i(()
{
for(3$1"3<$i 55 4<$n"3(()
{
f2<<4<<# #"4(("
1
f2<<=0n="
1
f1.close()"f2.close()"
return %"
1
+. Pentru un n citit din fisierul date.in sa se afiseze in fisierul date.out dia4onala <i si
dia4onala L! pe care se afla valoarea n din piramida
*
( )
+ : ;
- = B *9
""""" %&. Pentru n@; se va afisa <*, L)
Gezolvare 5??
#include<fstream.h>
int main()
{
unsined n!>!u!nrlinie"
&&nrlinie va retine valorile 1!2 ! 3?numerele liniilor din >iramida
&&p este valoarea >rimului numar de >e linia nrlinie
&&u este valoarea ultimului numar de >e linia nrlinie
ifstream f1(#date.in#)"
ofstream f2(#date.out#)"
f1>>n">$u$nrlinie$1"
&&eneram linii din >iramida >ana a3unem >e linia >e care se afla valoarea n
@hile(A(><$n55n<$u))
{
nrlinie((">$>(nrlinie*1"u$>(nrlinie*1"
1
f2<<n<<# se afla in >iramida >e linia #<<nrlinie<<#diaonala 9#<<n*>(1<<#
diaonala B#<<u*n(1"
f1.close()"f2.close()"
return %"
1

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