Sunteți pe pagina 1din 4

1.

Sa se srie o functie recursiva care afiseaza valorile de la 1 la n


2. Sa se scrie o functie recursiva care afiseaza valorile de la n la 1
3. Sa se scrie o functie recursiva care calculeaza n!
4. Sa se scrie o functie recursiva care calculeaza suma primelor n numere
naturale
5. Sa se scrie o functie recursiva care calculeaza produsul a*b (ca fiind o
adunare repetata)
6. Sa se scrie o functie recursiva care calculeaza ab
7. Sa se scrie o functie recursiva care calculeaza a: b (ca fiind o scadere
repetata ) Ex: 11: 2 =5 rest 1
8. Sa se descompuna un numar in suma de doua numere:
Ex 11 se descompune in: 1+10, 2+9, 3+8, 4+7, 5+6

9. Sa se determine :

n k 1
C n 1 , kdiferitde0
C nk k
1dacak 0


C nk1 C nk11

C 1dacak 0 sauk n
k
n

10.

11. irul lui Fibonacci. Se consider irul definit astfel:


0 ,n 0

Un 1 ,n 1
U n1 U n 2 , altfel

0,1,1,2,3,5,8,13 u(7)=13

Se dau dou numere naturale a i b. Se cere s se calculeze cel mai mare


divizor comun al lor, prin scaderi repetate.

12. S se scrie o funcie recursiv care afiseaza cifrele unui numar


incepand de la cifra unitatilor, cate una pe linie

13. S se scrie o funcie recursiv pentru calculul sumei cifrelor unui


numr natural.

14. S se scrie o funcie recursiv pentru transformarea unui numr


natural n, din baza 10 n baza 2.
a0 a, b0 b; a, b 0
15. Se consider irurile definite recurent astfel:
an 1 bn 1
an , bn an 1bn 1
2
an i bn .
S se scrie un program care s citeasc a, b i n i s calculeze

16. Sa se calculeze, folosind o functie recursiva, valoarea expresiei


1n 2 n 3 n nn
E ...
1! 2! 3! n!

17. Sa determine cifra cea mai mare a unui numar


18. Sa se determine suma cifrelor pare ale unui numar
19. Sa se numere cifrele unui numar
20. Sa se numere cifrele pare ale unui numar
21. Sa se numere de cate ori se gaseste cifra x intr-un numar
22. Sa se afiseze divizorii unui numar
23. Sa se numere divizorii unui numar
24. Sa se determine suma divizorilor unui numar
25. Sa se determine daca un numar este prim
26. Inversul unui numar
27. Sa se genereze primii n termeni ai unei progresii aritmetice
(geometrice), daca se cunosc primul termen si ratia.
28. Scrieti un subprogram recursiv pentru determinarea si afisarea valorilor
din triunghiul lui Pascal pana la nivelul k. Amintim ca triunghiul lui Pascal
este format din coeficientii binomului lui Newton (a+b)n, pentru n=1,2k
Exemplu: pentru k=5, triunghiul este:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
29. sa se afiseze o piramida de tipul:
1
22
333
4444
..............
nnnnnnnnn

30. Pentru n dat, sa se construiasca recursiv triunghiul de numere de mai


jos, fara a folosi nici o instructiune repetitiva.
1
1 2
..
1 2 3 .. n-1
1 2 3 .. n-1 n
31. Un subprogram recursiv care determina daca o valoare se gaseste intr-
un vector
32. Citirea, afisarea unui vector recursiv
33. Suma elementelor unui vector
34. Suma elementelor pare dintr-un vector
35. Sa se calculeze, recursiv, maximul elementelor dintr-un vector
36. Scrieti o functie recursiva care afiseaza elementele unui vector in ordine
inversa.
37. Se da un vector x cu n componente numere naturale cu cel mult 9 cifre.
Sa se afiseze suma cifrelor componentelor vectorului.
38. Un subprogram recursiv care calculeaza valoarea unui polinom de grad n
intr-o valoare data
39. Suma elementelor de pe o linie a unei matrici
40. Suma elementelor de pe o coloana a unei matrici
41. Afisarea elementelor de pe diagonalele pp si sec dintr-o matrice
patratica

42. Un cioban isi cumpara oi. Stiind ca o oaie dupa un an face o mieluta si
mieluta devine dupa un an mioara iar mioara devine dupa un an oaie, ce
va contine turma ciobanului dupa n ani?
Obs. Nu se nasc berbecuti si nici nu mor animale

dupa un an:
1 oaie si o mileluta nici o mioara
dupa doi ani:
o oaie, o mieluta si o mioara
dupa 3 ani:
2 oi,1 mioara , mielut 1
dupa 4 ani
3 oi, 1 mioara, 2 mieluti
4
43. O persoana are de coborat n trepte. La fiecare pas, ea poate cobori
una sau doua trepte. Cate posibilitati are de a cobori scara?
Exemplu: pentru n=12, exista 233 de posibilitati.

44. Sa se descompuna un numar in factori primi, folosind un algoritm


recursiv. (Ex: 19344=24*3*13*31)

45. Numarul de partitii ale unei multimi cu n elemente in k submultimi


este S(n,k), numit numarul lui Stirling de speta a II-a si este definit de
relatiile:
S(n,1)=S(n,n)=1
S(n+1,k)=S(n,k-1)+kS(n,k)

Sa se calculeze numarul partitiilor unei multimi cu n elemente in submultimi


de k elemente. Exemplu: S(5,3)=25 (Retineti acest rezultat!)
46. Se da un vector cu n elemente intregi. Sa se verifice, folosind o functie
recursiva, daca exista macar un element pozitiv in vector.
47. Fie sirul 1,2,2,3,3,3, Gasiti o definitie recursiva a acestui sir si scrieti
un program care o implementeaza.
48. Se considera ca diagonalele unei matrice patratice o impart pe aceasta
in 4 zone: nord, sud, est si vest. Scrieti cate o functie recursiva pentru a
calcula:
a. Suma elementelor din nord
b. Produsul elementelor din vest
c. Numarul de elemente pare din sud
d. Procentul de zerouri din est
49. Scrieti un program care descompune un numar dat n ca suma de
puteri distincte ale lui 2.
Indicatie: Se va folosi o functie care determina cea mai mare valoare p cu
proprietatea ca 2p<=n
Exemplu: n=4978 se obtine descompunerea 21+24+25+26+28+29+212
50. Sa se completeze in spirala, folosind un algoritm recursiv, o matrice cu
n linii si n coloane, cu primele n2 numere intregi.
Exemplu: pentru n=4
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
51. Fie sirul 1,2,3,4,5,10,20,40,80, ai carui termeni, incepand cu al
saselea, satisfac relatia a[i]=a[i-1]*2. Sa se scrie un algoritm recursiv
care descompune un numar pozitiv n ca suma de termeni distincti din
sirul definit.
Exemplu: pentru n=4578 se obtine descompunerea
3+5+10+80+640+1280+2560
52. Codul Fibonacci de ordinul n, n>=2, este secventa c n. Daca este sirul
nul, atunci codul Fobonacci se poate obtine recursiv astfel:
c2=(), c3=(0,1), c4=(00,01,10)
iar cn, n>4 se obtine prin concatenarea a doua subsecvente: prima
secventa se obtine prefixand cu 0 fiecare codificare din cn-1, a doua
prefixand cu 10 fiecare codificare din cn-2. Elaborati un algoritm care
construieste codul lui Fibonacci pentru orice n dat.
Exemplu: c5=(000,001,010,100,101)
53. Sa se verifice daca doua matrici sunt identice, folosind o functie
recursiva.

Preluate de pe infoscience.3x.ro

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