Sunteți pe pagina 1din 451

ALGORITMI S¸I STRUCTURI DE DATE 1

Note de Laborator

(uz intern - draft v1)

Adrian R˘abˆaea

Cuprins

1 Exercit¸ii simple

1.1

Algoritmi elementari

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1.1.1 Acest num˘ar este prim?

.

.

.

.

.

.

.

.

1.1.2 Lista numerelor prime

 

.

.

.

.

.

.

.

.

.

1.1.3 Descompunere ˆın factori primi

 

1.1.4 Cel mai mare divizor comun .

.

.

.

.

.

1.1.5 Cel mai mic multiplu comun

.

.

.

.

.

1.1.6 Cel mai mic multiplu comun, optimizat

1.1.7 Calculul puterilor .

1.1.8 Calculul puterilor, optimizat

1.1.9

1.1.10

1.1.11

1.1.12

1.1.13

1.1.14 Calculul valorii unui polinom

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1

n+1 C 2 n .

n

.

.

.

.

.

.

.

.

Calculul factorialului Calculul combin˘arilor

Num˘arul lui Catalan C n = Produsul a dou˘a polinoame

Schema lui Horner

1.1.15 Puterea unui polinom

.

.

.

1.1.16 Derivata unui polinom

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1.1.17 Derivata de ordinul k a unui polinom

1.1.18 Derivata de ordinul k a funct¸iei f (x) = P n (x)e αx

1.1.19 Ordinul unei permut˘ari

 

.

.

.

.

.

.

.

.

.

.

.

.

.

1.1.20 Suma puterilor r˘ad˘acinilor ecuat¸iei de grad 2

.

1.1.21 Suma puterilor r˘ad˘acinilor ecuat¸iei de grad 3

.

1.1.22 S¸irul lui Fibonacci ¸si ”proport¸ia de aur”

 

1.1.23 Descompunere Fibonacci

 

.

.

.

.

.

.

.

.

.

.

.

.

1.1.24 Num˘arul permut˘arilor idempotente

 

1.1.25 Fract¸ie continu˘a: determinarea coeficient¸ilor

 

1.1.26 Fract¸ie continu˘a: determinarea fract¸iei init¸iale

 

1.1.27 Generare polinom cu r˘ad˘acini fract¸ionare date

1.1.28 R˘ad˘acini rat¸ionale

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1.1.29 Num˘arul divizorilor unui num˘ar natural

 

1.1.30 Funct¸ia lui Euler

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

iii

 

1

.

.

.

.

.

.

.

1

.

.

.

.

.

.

.

1

.

.

.

.

.

.

.

2

 

2

.

.

.

.

.

.

.

3

.

.

.

.

.

.

.

4

 

5

.

.

.

.

.

.

.

7

 

7

.

.

.

.

.

.

.

8

.

.

.

.

.

.

.

8

.

.

.

.

.

.

.

10

.

.

.

.

.

.

.

11

.

.

.

.

.

.

.

12

 

13

.

.

.

.

.

.

.

13

.

.

.

.

.

.

.

14

 

15

16

.

.

.

.

.

.

.

17

.

.

.

.

.

.

.

19

.

.

.

.

.

.

.

19

 

20

.

.

.

.

.

.

.

21

 

22

22

23

24

.

.

.

.

.

.

.

25

 

26

.

.

.

.

.

.

.

27

1.1.31 Formul˘a de calcul pentru funct¸ia lui Euler

1.2

1.1.32 Ghice¸ste num˘arul .

.

.

.

.

.

.

.

1.1.33 Calculul funct¸iei arcsin .

.

.

.

.

1.1.34 Algoritmul lui Euclid extins

 

Calculul unor sume ¸si produse

 

.

.

.

1.2.1 Calculul funct¸iei arcsin .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1.2.2

1.2.3 Calcul f (n) = n 1 C n 1 n n 1 k (k + 1)!

Calcul f (n) = n

1

k

C

k =0 2

k =0

k

n

n+ k

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1.2.4 Calcul f (n) = n n 1 + n 1 C k k 1 (n k ) n k

1.2.5

1.2.6 Calcul s(n, m ) = m 1 C m (1) k (m k ) n

1.2.7 f (m, n, λ 1 ,

1.2.8 f (

1.2.9 f (n) = 1

.

k

n

k

=1

1

Calcul f (n) = n! 1

Calcul

Calcul

Calcul

k

=0

1

1! + 2!

k

+ ( 1) n n!

n

λ 1

.

C

.

.

.

.

.

.

.

n

k + n1 λ n .

, λ n ) = C

1

m λ 1

C m + n 1 λ n

1

k

m C ) = m =1 (1) m k C

k

k

2 n k n

k

=0 (1) k C 2 k (2n k )!

n

1.2.10 Numerele Stirling de spet¸a a II-a

.

1.2.12 Partit¸iile unui num˘ar natural

1.2.13 Recurent¸a Catalan: C n = n =1 C k 1 C n k unde C 0 = 1 .

1.2.11 Numerele lui Bell .

.

.

.

.

.

.

k

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1.2.14 Recurent¸a: E n = E 2 E n 1 + E 3 E n 2 +

.

1.2.15 Numerele Stirling de spet¸a a II-a

.

.

1.2.16 = n

.

.

E 1 = E 2 = 1

Calcul

f (n)

.

.

.

.

.

k

k =0 C n

k

k =0 C n

.

.

.

.

.

F k . 2 k F k

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1.2.17 = n

Calcul

f (n)

.

.

.

.

+ E n 1 E 2 unde . . . .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2 Simularea operat¸iilor cu numere mari

2.1 Operat¸ii cu numere mari

.

.

.

.

.

2.1.1 Vectorul cifrelor unui num˘ar

2.1.2 Adunarea numerelor mari

 

.

.

ˆ

2.1.3 Inmult¸irea numerelor mari .

.

ˆ

.

.

.

.

.

.

2.1.6 Funct¸ia factorial cu numere mari

2.1.5 Funct¸ia putere cu numere mari

2.1.4 Imp˘art¸irea numerelor mari la 2

.

.

2.2 Sume ¸si produse cu numere mari

Calcul f (n) = n

1

k

k =0 2

k =0

C

k

n

.

.

.

.

1

n+1 C

n

2

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

2.1.7 Calculul combin˘arilor cu numere mari

.

2.2.1 Num˘arul lui Catalan C n =

2.2.2

2.2.3 Calcul f (n) = n 1 C n 1 n n 1 k (k + 1)! cu numere mari .

n cu numere mari

n+ k cu numere mari

2.2.4 Calcul f (n) = n n 1 + n 1 C k k 1 (n k ) n k cu numere

.

2.2.5

.

2.2.6 Numerele Stirling de spet¸a a II-a cu numere mari .

k

=1

n

. , λ n ) = C .

.

.

.

.

.

.

.

.

m λ 1

.

.

.

.

.

.

.

.

k

mari

.

.

.

.

.

.

.

.

.

.

.

.

Calcul f (m, n, λ 1 ,

mere mari .

.

.

.

.

.

.

.

.

.

.

1

.

.

.

.

.

m + n1 λ n cu nu-

C

n

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

28

28

30

31

32

32

33

34

35

37

37

39

40

42

43

44

45

46

47

48

50

51

53

53

53

54

55

57

59

61

63

66

66

68

72

76

79

82

2.2.7 Numerele lui Bell cu numere mari

2.2.8 Partit¸iile unui num˘ar natural cu numere mari

2.2.9 Recurent¸a Catalan C n = n =1 C k 1 C n k unde C 0 = 1, cu

. + E n 1 E 2 unde .

.

2.2.10 Recurent¸a: E n = E 2 E n 1 + E 3 E n 2 +

84

88

90

.

.

.

.

.

.

.

.

k

.

.

.

.

.

.

.

.

numere mari

.

.

.

.

.

.

.

.

93

96

99

2.2.13 Fract¸ie continu˘a: determinarea fract¸iei init¸iale cu numere mari103

E 1 = E 2 = 1 cu numere mari

.

.

.

.

.

.

.

= n

k

k =0 C n

k

k =0 C n

F k cu numere mari

2 k F k cu numere mari

.

.

.

.

.

.

.

.

.

2.2.11 f (n)

Calcul

2.2.12 f (n) = n

Calcul

2.2.14 Num˘arul permut˘arilor idempotente, cu numere mari

 

105

3 OJI 2002 clasa a IX-a

 

109

3.1 Poarta

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

109

3.1.1 Indicat¸ii de rezolvare - descriere solut¸ie *

 

110

3.1.2 Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

110

3.1.3 Codul surs˘a * .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

110

3.2 Mouse

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

112

3.2.1 Indicat¸ii de rezolvare - descriere solut¸ie *

 

113

3.2.2 Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

113

3.2.3 Codul surs˘a * .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

113

4 OJI 2003 clasa a IX-a

 

117

4.1 Text

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

117

4.1.1 Indicat¸ii de rezolvare - descriere solut¸ie *

 

118

4.1.2 Rezolvare detaliat˘a *

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

119

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

119

4.1.3 Codul surs˘a * . .

4.2.1 Indicat¸ii de rezolvare - descriere solut¸ie *

.

4.2 Numere

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

121

122

4.2.2 Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

122

4.2.3 Codul surs˘a * .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

122

5 OJI 2004 clasa a IX-a

 

125

5.1 Expresie

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

125

5.1.1 Indicat¸ii de rezolvare - descriere solut¸ie *

 

126

5.1.2 Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

127

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

127

5.1.3 Codul surs˘a * . .

5.2.1 Indicat¸ii de rezolvare - descriere solut¸ie *

.

5.2 Reactivi

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

132

133

5.2.2 Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

134

5.2.3 Codul surs˘a * .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

134

6 OJI 2005 clasa a IX-a

 

137

6.1 Numere

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

137

6.1.1 Indicat¸ii de rezolvare - descriere solut¸ie *

 

138

6.1.2 Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

138

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

138

6.1.3 Codul surs˘a * . .

.

6.2.1 Indicat¸ii de rezolvare - descriere solut¸ie *

.

6.2 MaxD

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

139

140

6.2.2 Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

141

6.2.3 Codul surs˘a * .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

141

7 OJI 2006 clasa a IX-a

 

145

7.1 Flori

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

145

7.1.1

Indicat¸ii de rezolvare - descriere solut¸ie *

 

146

7.1.2

Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

147

Codul surs˘a * . 7.2 .

.

7.1.3

Pluton

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

147

150

7.2.1

Indicat¸ii de rezolvare - descriere solut¸ie *

 

151

7.2.2

Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

152

7.2.3

Codul surs˘a * .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

152

8 OJI 2007 clasa a IX-a

 

157

8.1 Cartele - OJI 2007

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

157

8.1.1 Indicat¸ii de rezolvare - descriere solut¸ie *

 

158

8.1.2 Rezolvare detaliat˘a .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

159

8.1.3 Codul surs˘a * .

.

.

.

.

.

.