Probleme pentru elementare
1) S se scrie un program care s calculeze cte perechi de numere naturale care nu
depesc un numr natural dat au cel mai mare divizor comun un numr dat d.
Ex. Pentru n=2 i d=!" exist # perechi $!"!)" $!"1)" $!"1!)" $!"2)" $1"1!)"
$1!" 2) .
2) Sa se veri%ice daca un numar n este palindrom in &aza 1#. 'umarul este introdus in
&aza 1.
Ex. 'umarul 1112(1 este palindrom in &aza 1#. )n &aza 1# numarul este 1*2*1.
+) Se citesc de la tastatur n %rac,ii -n %orma $numrator" numitor). Se cere s se
calculeze suma acestor %rac,ii $-n %orma ireducti&il).
Ex..
2
.+
!
2
.
1
+
1
#
/
= + + + .
.) Sa se scrie un program care calculeaza 0 ci%ra de control 0 a unui numar intreg
e%ectuand suma ci%relor sale " apoi suma ci%relor acestei sume etc. pana se o&tine o
suma %ormata dintr1o singura ci%ra.
Ex. 2i%ra de control a numarului 13/1 este 3 $ 13/1 14 1( 143).
!) 2te ci%re comune au doua numere citite de la tastatur 5 6%ia,i care sunt aceste
ci%re.
Ex. 'umerele 21+.( i 1.!1+ au + ci%re comune i anume 1" +" ..
#) Sa se scrie un program care determina primele n ci%re din seria %ractiei su&unitare
78m=.c1c29cn pentru 7 si m $7:m) numere naturale citite de la tastatura.
Ex. Pentru 7=!" m=2+ si n=! se va a%isa .21/+3.
/) S se a%ieze toate numerele prime de trei ci%re care citite invers" sunt tot numere
prime.
Ex. ;n ast%el de numr este /#1 $/#1 este prim i 1#/ este tot prim).
() Se spune ca n este deose&it daca exista un numar natural m ast%el incat n=m<S$m)"
unde S$m) este suma ci%relor lui m. S se scrie un program care veri%ica daca un
numar natural n dat este deose&it.
Ex. 12+! este deose&it $12+!=122!<1).
3) = carte se pagineaza cu numere de la 1 la n $2:=n:=1" n natural). >iind dat
n" sa se a%le cate ci%re au %ost %olosite la paginare.
Ex. Pentru o carte cu 1 de pagini se %olosesc 132 de ci%re.
1) Se considera o succesiune de n numere intregi. Sa se determine %actorul prim care
apare la puterea cea mai mare in descompunerea produsului celor n numere.
11) Sa se determine daca doua numere naturale date sunt termeni consecutivi ai sirului
>i&onacci.
Ex. !! si (3 sunt termeni consecutivi in sirul >i&onacci.
12) Sa se scrie un program care determina toate reprezentarile posi&ile ale unui numar
natural ca suma de numere naturale consecutive .
Ex. Pentru n=! avem !=(<3<1<11<12 si != 11<12<1+<1..
1+) Se numesc numere ?super prime0" acele numere ale caror pre%ixe sunt toate
numere prime. Sa se veri%ice daca un numar este ?super prim ? si sa se a%iseze
pre%ixele sale in acest caz.
Ex@ 2+3 este super prim deoarece +" 2+ si 2+3 sunt prime.
1.) Scrieti un program care sa contina un su&program care sa returneze cel mai
apropiat numar prim %ata de un numar natural transmis ca parametru.
1!) Sa se a%iseze cate din elementele unui vector dat de numere naturale sunt numere
>i&onacci.
Ex. )n vectorul x=$!" 1" 1" /" 3" (" 1" #" !!" 13) sunt ! numere >i&onacci.
1#) Sa se veri%ice daca un vector dat este o multime $ in sensul cunoscut din matema1
tica )" daca nu sa se trans%orme acest vector in mod corespunzator.
Ex. Aectorul x=$1" 2" 3" ." 2" #" !" 1" 2" +) nu este o multime. Bupa trans%ormarea
acestuia se o&tine multimea x=$1" 2" 3" ." #" !" 2" +).
1/) Se d un vector cu n elemente numere -ntregi. S se modi%ice vectorul ast%el
-nct la -nceput s %ie elementele pare ordonate cresctor" iar apoi cele impare
care s -i pstreaze ordinea.
Ex @ Se d vectorul $!" 3" 12" 1" (" 2" 1+" #" 2). Cre&uie s se o&,in $2" #" (" 12"
2" !" 3" 1" 1+).
1() Se citesc de la tastatur doi vectori cu elemente numere -ntregi de dimensiune
n" respectiv m. S se a%ieze cte elemente din al doilea vector sunt strict mai mici
dect toate elementele din primul vector.
13) Se citeste un vector cu n componente numere intregi. Sa se determine cel mai
mare numar rational su&unitar" in care numitorul si numaratorul apartin ta&loului.
Ex. Pentru x=$2" 1" +) rezulta 28+.
2) ;n vector a contine maxim 1 de numere intregi. Dungimea vectorului si
elementele sale se citesc de la tastatura. Sa se copieze intr1un vector & toate
elementele din vectorul a care au valoarea egala cu codul 6S2)) al unei litere. Sa
se a%iseze literele corespunzatoare codurilor din vectorul & in ordine al%a&etica.
21) Se citesc elementele unui vector cu elemente numere naturale. Sa se a%iseze
%actorii primi comuni tuturor elementelor.
22) Se da un vector cu n elemente numere reale. Sa se introduca intre oricare doua
elemente media lor aritmetica $%ara a %olosi alt vector).
2+) Se da un vector de numere naturale. Sa se elimine din vector toate numerele
prime $%ara a %olosi alt vector).
2.) Se citesc de la tastatur n numere naturale. Se cere s se sorteze irul -n ordine
cresctoare dup numrul de apari,ii a ci%rei 1 -n reprezentarea -n &aza 2 a
numerelor. )n cazul -n care dou numere au acelai numr de ci%re egale cu 1 -n
reprezentarea lor &inar atunci ele vor aprea -n ordinea -n care au %ost citite de la
tastatur.
Ex @ Se citete vectorul $!" +2" /1" 1" 1." 1+" #/" (2" +!) iar dup sortare tre&uie s
se o&,in $+2" 1" !" 1." 1+" #/" (2" +!" /1).
2!) 2onsiderand ca ci%rele a doua numere sunt memorate in doi vectori x" respectiv E
sa se calculeze si a%iseze suma lor.
2#) Se considera un vector cu n componente. Stiind ca el contine doua su&secvente de
numere ordonate crescator" sa se ordoneze intregul vector prin interclasarea celor
doua su&secvente.
2/) Se citete de la tastatur un ta&lou unidimensional cu n elemente numere -ntregi.
S se a%ieze elementul care apare de cele mai multe ori -n ta&lou. Bac exist mai
multe ast%el de elemente " se vor a%ia toate.
Ex. Pentru n=( i elementele $2+" /" 11" /" 13" /" 11" 11) se vor a%ia elementele /
i 11" care apar %iecare de cte + ori.
2() >ie v un vector de numere -ntregi. S se construiasc un vector F" ast%el -nct
FGiH=numrul de apari,ii ale lui vGiH -n vectorul v .
Ex. Pentru v=$1" !" 2" 1" !" /" 2" 1" !) se o&,ine F=$+" +" 2" +" +" 1" 2" +" +).
23) S se veri%ice dac un vector con,ine elemente -n ordinea @ negativ" negativ"
pozitiv" negativ" negativ" pozitiv"9 .
Ex. Aectorul $11" 12" +" 1!" 1#" 2" 1() are aspectul cerut.
Aectorul $11" 2" 1+" 1.) nu are aspectul dorit.
+) >ie un vector cu n elemente numere intregi. Sa se a%le si a%iseze cele mai mici trei
elemente din vector $%ara sa se schim&e ordinea elementelor).
+1) Bandu1se un vector cu nI n elemente" se cere sa se introduca acel vector intr1o
matrice patratica de dimensiune nIn " prin parcurgerea acesteia in ordinea a11" a21"
a22" a12" a+1" a+2" a++" a2+" a1+" a.1"9.
Ex@ Pentru vectorul $ 1" ." !" 2" /" (" 3" #" +)" se va o&tine matricea
1 2 +
. ! #
/ ( 3.
+2) S se construiasc o matrice 6 cu n linii si n coloane ce se completeaz cu termenii
irului lui >i&onacci. 2ompletarea se va %ace pe linii . 'u se vor %olosi structuri de
date auxiliare.
1 1 2
Ex. Pentru n=+ se va a%ia matricea @ + ! (
1+ 21 +..
++) Se d o matrice de ordinul n. Se consider c diagonalele sale -mpart matricea -n .
zone @ nord" sud" vest si est. Se cere s se calculeze suma elementelor impare din
zona de nord a matricei.
+.) Se citete de la tastatur un cuvnt de lungime cel mult 2 de caractere" %ormat
numai din litere mari. S se a%ieze toate cuvintele distincte ce se pot %orma prin
eliminarea cte unui singur caracter din cuvntul dat.
Ex. Pentru cuvntul *)'E se vor a%ia" nu neaprat in aceast ordine" cuvintele @
)'E" *'E" *)E" *)'.
+!) Se citesc mai multe cuvinte" %iecare din alt linie. S se a%ieze %iecare cuvnt o
singur dat chiar dac a %ost citit de mai multe ori.
Ex. 'r. de cuvinte = !
Se vor citi cuvintele @ magic" tragic" magic" tragic" magic.
Se va a%ia @ magic" tragic.
+#) Se citete de la tastatur un text" precum i dou cuvinte c1 si c2. S se -nlocuiasc
-n text toate apari,iile cuvntului c1 cu cuvntul c2" iar apoi s se tipreasca noul
text o&,inut.
+/) Se citesc de la tastatura n cuvinte %ormate din litere mici ale al%a&etului englez. S
se a%ieze perechile de cuvinte din cele citite cu proprietatea c cele dou cuvinte
din pereche %olosesc aceeai mul,ime de litere distincte.
Ex. 2uvintele acasa si sac con,in litere din aceeai mul,ime JKaL" KcL" KsLM.
+() Se citete de la tastatur un numr natural. S se a%ieze cel mai mare numr care
se poate %orma cu ci%rele distincte ale numrului dat.
Ex. Pentru numrul 23+#+" mul,imea ci%relor distincte este J2" +" #" 3M" iar numrul
cerut este 3#+2.
+3) S se descompun un numr natural in %actori primi" memornd rezultatul su&
%orma unui vector de -nregistrari @ %iecare -nregistrare va cuprinde doua cmpuri"
unul indicnd %actorul prim" iar cellalt puterea la care apare -n descompunere.
Ex. Pentru n=13# se o&,ine vectorul $$2"+)" $!"1)" $/"2)) unde primul numr din
%iecare parantez reprezint %actorul prim" iar al doilea reprezint exponentul.
.) Scrie,i un program prin care se citete de pe prima linie a %iierului ';[Link]
o valoare natural n $:n:2)" iar de pe a doua linie n valori -ntregi $distincte -ntre
ele). S se rescrie cele n valori -n %iierul OEQ;[Link] " -n aceiasi ordine"
doar valoarea mai mare sa %ie schim&at cu valoarea mai mic i invers.
.1) Scrie,i un program care citete de la tastatur dou numere naturale n"m i scrie -n
%iierul text [Link] toate numerele prime din intervalul deschis $n"m).
'umerele se scriu -n ordine cresctoare" cte 1 numere pe %iecare linie a %iierului"
numerele dintr1o linie %iind despr,ite -ntre ele prin cte un spa,iu.
Ex. Pentru n=(/ si m=2.1" %iierul [Link] va con,ine @
(3 3/ 11 1+ 1/ 13 11+ 12/ 1+1 1+/
1+3 1.3 1!1 1!/ 1#+ 1#/ 1/+ 1/3 1(1 131
13+ 13/ 133 211 22+ 22/ 223 2++ 2+3 .
.2) Scrieti o %unctie recursiva care veri%ica daca un vector cu n numere intregi contine
numai valori distincte.
.+) Scrieti un su&program recursiv care descompune un numar natural in %actori primi.
..) = persoana are de co&orat n trepte. Da %iecare pas poate co&ori 1 sau 2 trepte. Sa se
a%iseze posi&ilitatile pe care le are persoana de a co&ori treptele.
.!) Pentru un vector cu n componente si 1 care are semni%icatia de numar &inar" se
cere sa se scrie o %unctie recursiva care a%iseaza numarul in &aza 1.
Ex. Pentru n=. si v=$1" " 1" 1) se va returna 11.
.#) >ie x si E doua siruri de caractere. Scrieti un su&rogram recursiv care sa testeze
daca sirul E este o anagrama a sirului x.
Ex. Sirurile amar si mara sunt anagrame.
./) Pentru un n dat sa se construiasca recursiv triunghiul de numere ca in exemplul de
mai Ros %ara a %olosi nici o instructiune repetitiva @
1
1 2
1 2 +
1 2 + .
.....................
1 2 + . ... n.
.() S se scrie o %unc,ie recursiv pentru calculul sumei divizorilor proprii ai unui
numr natural n citit de la tastatur.
Ex. Pentru n=+ suma cerut este 2<+<!<#<1<1!" adic .1.
.3) Scrie,i o %unc,ie recursiv care testeaz dac un numr natural este &ine ordonat
cresctor $ ci%rele sale citite de la st-nga la dreapta sunt -n ordine cresctoare ).
Ex. 'umrul 2+!# este un numr &ine ordonat cresctor.
!) Se citeste un numar natural n. Sa se a%iseze toate descompunerile sale in suma de
numere prime distincte. )n cazul in care nu exista ast%el de descompuneri sa se
a%iseze un mesaR corespunzator.
!1) ;n ta&lou unidimensional v contine n numere reale ordonate crescator. Sa se a%iseze
in ce pozitie din v se gaseste un numar real x. Baca nu se gaseste in v atunci sa se
a%iseze un mesaR corespunzator.
!2) >ie n un numar natural . Sa se genereze toate succesiunile de n $n:2) caractere KIL
si K1K.
Ex. Pentru n=+ sirurile sunt 111
11I
1I1
1II
I11
I1I
II1
III.
!+) Scrie,i un su&program recursiv care veri%ic dac un cuvnt dat este palindrom $citit
invers se o&,ine acelai cuvnt).
Ex. 2uvntul 6'6 este palindrom.
!.) S se genereze i s se a%ieze toate su&mul,imile mul,imii Ja1" a2"9"anM.
!!) Sa se a%iseze toate numerele naturale care in reprezentarea &inara au n $1:=n:=1)
ci%re" iar numarul ci%relor de 1 este 7 $1:=7:=n).
Ex. Pentru n=+ si 7=2 se va a%isa +" !" #.
!#) )ntr1o ta&ara de vara exista m corturi si n participanti. Sasiti toate modalitatile de
distri&uire a participantilor in corturi" stiind ca %iecare cort tre&uie sa %ie ocupat de
cel putin min persoane si de cel mult max persoane $n" m" min" max se citesc).
Ex. Pentru n=12 " m=+" min=+" max=! vom o&tine $+"."!) $+"!".) $.".".) $."+"!)
$."!"+) $!"+".)" $!"."+).
!/) Sa se determine toate cuvintele de lungime 1" %ormate doar din urmatoarele
caractere @ KaL" K&L" KcL. 2uvintele vor contine exact doua caractere KaL" trei caractere
K&L si cinci carctere KcL.
!() Da curtea regelui 6rthur sunt n cavaleri" %iecare cavaler avand dusmani. Nerlin
tre&uie sa ii aseze la masa rotunda" ast%el incat doi dusmani sa nu %ie vecini. 6%isati
toate modalitatile de asezare a cavalerilor la masa.
Ex. Baca n=# iar dusmani sunt $1 cu +)" $2 cu .)" $1 cu !) si $. cu #) atunci o
modalitate de asezare a cavalerilor este +" ." !" 2" 1" #" +.
!3) Pentru n crmizi se citesc la,imea i lungimea. S se %ormeze toate turnurile
posi&ile de 7 $1:=7:=n) crmizi" -n care ele s %ie aezate -n ordine
descresctoare dup dimensiuni. S se a%ieze numrul de ordine al crmizilor"
iar dac nu exist solu,ie s se a%ieze un mesaR.
Ex @ n=#" 7=+
D= $+" 3" ." (" 2" !)
Da=$12" (" #" 1" !" ()
Solu,ii @$2" #" !)" $." #" !)" $." +" !)"etc
#) Se citete de la tastatur un cuvnt. S se a%ieze -n ordine al%a&etic toate
cuvintele care se pot o&,ine din literele distincte ale cuvntului dat.
Ex. Bac se citete cuvntul acasa " se va a%ia @ acs" asc" cas" csa" sac" sca.
#1) Se citete de la tastatur un numr natural. S se scrie -n ordine cresctoare toate
numerele naturale care se pot o&,ine din ci%rele numrului dat.
#2) S se a%ieze toate modurile posi&ile de a descompune un numr natural n -n sum
de 7 numere distincte $n i 7 sunt cunoscute). Solu,iile se vor scrie -n %iierul
[Link]" cte o descompunere pe o linie" su& %orma sugerat de ex.
Ex. Pentru n=3 i 7=+" solu,iile sunt @
1<2<#
2<+<.
1<+<!.
#+) Se d un cuvnt de maxim 2 de litere. S se a%ieze toate cuvintele ce con,in
literele distincte ale cuvntului ini,ial i nu con,in dou vocale sau dou consoane
alturate.
Ex. Pentru cuvntul KapelatL se vor a%ia cuvintele @ KpaletL" KpatelL" KpelatL" KpetalL"
KlapetL" KlatepL" KlepatL" KletapL" KtapelL" KtalepL" KtepalL" KtelapL.
#.) S se scrie un program care veri%ic dac dou liste liniare simplu -nln,uite sunt
identice sau nu.
#!) Se citete un ir de cuvinte terminat cu KIL i se cere s se a%ieze aceste cuvinte -n
ordine invers celei de la citire" %ar a utiliza iruri sau su&programe recursive.
##) S se scrie un program care creeaz o lista liniar du&lu -nlan,uit cu numere reale.
S se insereze apoi -ntre oricare doua noduri ale listei un nod nou con,innd ca
in%orma,ie media aritmetic a numerelor din cele dou noduri.
Ex. Bac -n lista sunt memorate numerele 2" 3" 12" #" 1 atunci -n %inal lista va
con,ine 2" !.!" 3" 1.!" 12" 3" #" +.!" 1.
#/) S se scrie un su&program care elimin unul sau dou $dac lista con,ine un numr
par de noduri) elemente din miRlocul unei liste liniare simplu -nlan,uite.
Su&programul primete ca parametru adresa primului element al listei.
#() Se citeste un sir de cuvinte care se termina cu punct" sir retinut intr1o lista du&lu
inlantuita. Sa se a%iseze cuvintele ordonate al%a&etic" insotite de %recventa lor de
aparitie.
#3) 2oe%icientii a doua polinoame sunt retinuti in nodurile a doua liste de tip coada. Sa
se determine suma celor doua polinoame.
/) Sa se inverseze sensul legaturilor intr1o lista liniara simplu inlantuita.