velimir

MathematicaV97

Apr 14th, 2016
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.72 KB | None | 0 0
  1. (*>>> Лабораториски вежби ДМ2 - Комбинаторика <<<*) (*Martin \
  2. Tashkoski*)
  3.  
  4. (*Zadaca 1*)
  5. Faktoriel[n_] :=
  6. Module[{n0 = n, fakt = 1, i}, For[i = 1, i <= n0, i++, fakt *= i];
  7. Return[fakt]];
  8. Print["n!=", Faktoriel[5]];
  9. Print["Proverka: ", 5!];
  10.  
  11. n!=120
  12.  
  13. Proverka: 120
  14.  
  15.  
  16.  
  17.  
  18. (*Zadaca 2*)
  19. BinomenKoeficient[n_, m_] :=
  20. Module[{rez, n0 = n, m0 = m},
  21. rez = Faktoriel[n0]/(Faktoriel[m0]*(Faktoriel[n0 - m0])); rez];
  22. Print["(\*GridBox[{
  23. {n},
  24. {m}
  25. }]) = ", BinomenKoeficient[5, 3]];
  26. Print["Proverka: ", Binomial[5, 3]];
  27.  
  28. (n
  29. m
  30.  
  31. ) = 10
  32.  
  33. Proverka: 10
  34.  
  35.  
  36.  
  37.  
  38. (*Zadaca 3*)
  39. PaskalovTriagolnik[n_] :=
  40. Module[{i, j, A = {}, B = {}},
  41. For[i = 0, i < n, i++, B = {};
  42. For[j = 0, j <= i, j++, AppendTo[B, BinomenKoeficient[i, j]]];
  43. AppendTo[A, B]; Print[B]]];
  44. PaskalovTriagolnik[5];
  45.  
  46. {1}
  47.  
  48. {1,1}
  49.  
  50. {1,2,1}
  51.  
  52. {1,3,3,1}
  53.  
  54. {1,4,6,4,1}
  55.  
  56.  
  57.  
  58.  
  59. (*Zadaca 4*)
  60. BrPermutaciiBezPov[n_, k_] := Module[{br = 1}, br = n!/(n - k)!; br];
  61. Print["Brojot na permutacii BEZ povtoruvanje od n elementi i klasa k \
  62. e: ", BrPermutaciiBezPov[5, 2]];
  63.  
  64. Brojot na permutacii BEZ povtoruvanje od n elementi i klasa k e: 20
  65.  
  66.  
  67.  
  68.  
  69. (*Zadaca 5*)
  70. PermutaciiBezPov[n_, k_] :=
  71. Module[{Permutacii = {}, Pom = {}, i},
  72. For[i = 1, i <= n, i++, AppendTo[Pom, i]];
  73. AppendTo[Permutacii, Permutations[Pom, {k}]]; Permutacii];
  74. Print["Site mozni permutacii BEZ povtoruvanje od n elementi, klasa k: \
  75. ", PermutaciiBezPov[5, 2]];
  76.  
  77. Site mozni permutacii BEZ povtoruvanje od n elementi, klasa k: {{{1,2},{1,3},{1,4},{1,5},{2,1},{2,3},{2,4},{2,5},{3,1},{3,2},{3,4},{3,5},{4,1},{4,2},{4,3},{4,5},{5,1},{5,2},{5,3},{5,4}}}
  78.  
  79.  
  80.  
  81.  
  82. (*Zadaca 6*)
  83. BrKombinaciiBezPov[n_, k_] :=
  84. Module[{br = 0}, br = Binomial[n, k]; br];
  85. Print["Brojot na kombinacii BEZ povtoruvanje e: ",
  86. BrKombinaciiBezPov[4, 2]];
  87.  
  88. Brojot na kombinacii BEZ povtoruvanje e: 6
  89.  
  90.  
  91.  
  92.  
  93. (*Zadaca 7*)
  94. KombinaciiBezPov[n_, k_] :=
  95. Module[{Kombinacii = {}, Pom = {}, i},
  96. For[i = 1, i <= n, i++, AppendTo[Pom, i]];
  97. AppendTo[Kombinacii, Subsets[Pom, {k}]]; Kombinacii];
  98. Print["Site mozni kombinacii BEZ povtoruvanje od n elementi, klasa k: \
  99. ", KombinaciiBezPov[4, 2]];
  100.  
  101. Site mozni kombinacii BEZ povtoruvanje od n elementi, klasa k: {{{1,2},{1,3},{1,4},{2,3},{2,4},{3,4}}}
  102.  
  103.  
  104.  
  105.  
  106. (*Zadaca 8*)
  107. BrPermutaciiSoPov[n_, k_] := Module[{br}, br = n^k; br];
  108. Print["Brojot na permutacii SO povtoruvanje od n elementi i klasa k \
  109. e: ", BrPermutaciiSoPov[3, 2]];
  110.  
  111. Brojot na permutacii SO povtoruvanje od n elementi i klasa k e: 9
  112.  
  113.  
  114.  
  115.  
  116. (*Zadaca 9*)
  117. PermutaciiSoPov[n_, k_] :=
  118. Module[{Permutacii = {}, Pom = {}, i},
  119. For[i = 1, i <= n, i++, AppendTo[Pom, i]];
  120. AppendTo[Permutacii, Tuples[Pom, k]]; Permutacii];
  121. Print["Site mozni permutacii SO povtoruvanje od n elementi, klasa k: \
  122. ", PermutaciiSoPov[3, 2]];
  123.  
  124. Site mozni permutacii SO povtoruvanje od n elementi, klasa k: {{{1,1},{1,2},{1,3},{2,1},{2,2},{2,3},{3,1},{3,2},{3,3}}}
  125.  
  126.  
  127.  
  128.  
  129. (*Zadaca 10*)
  130. BrKombinaciiSoPov[n_, k_] :=
  131. Module[{br = 0}, br = Binomial[n + k - 1, k]; br];
  132. Print["Brojot na kombinacii SO povtoruvanje e: ",
  133. BrKombinaciiSoPov[3, 4]];
  134.  
  135. Brojot na kombinacii SO povtoruvanje e: 15
  136.  
  137.  
  138.  
  139.  
  140. (*Zadaca 11*)
  141. KombinaciiSoPov[n_, k_] :=
  142. Module[{Kombinacii = {}, Pom = {}, i},
  143. For[i = 1, i <= n, i++, AppendTo[Pom, i]];
  144. AppendTo[Kombinacii, Select[Tuples[Pom, {k}], OrderedQ]];
  145. Kombinacii];
  146. Print["Site mozni kombinacii SO povtoruvanje od n elementi, klasa k: \
  147. ", KombinaciiSoPov[3, 4]];
  148.  
  149. Site mozni kombinacii SO povtoruvanje od n elementi, klasa k: {{{1,1,1,1},{1,1,1,2},{1,1,1,3},{1,1,2,2},{1,1,2,3},{1,1,3,3},{1,2,2,2},{1,2,2,3},{1,2,3,3},{1,3,3,3},{2,2,2,2},{2,2,2,3},{2,2,3,3},{2,3,3,3},{3,3,3,3}}}
  150.  
  151.  
  152. (*---------------------------------*)
  153.  
  154.  
  155. (*Zadaca 12*)
  156. BrPermutaciiBezPov2[n_, m_] :=
  157. Module[{br, i, k},
  158. For[i = 1, i <= m, i++, k = i; br = n!/(n - k)!; Print[br]]];
  159. BrPermutaciiBezPov2[5, 4];
  160.  
  161. 5
  162.  
  163. 20
  164.  
  165. 60
  166.  
  167. 120
  168.  
  169.  
  170.  
  171.  
  172. (*Zadaca 13*)
  173. BrKombinaciiBezPov2[n_, m_] :=
  174. Module[{br, i, k},
  175. For[i = 1, i <= m, i++, k = i; br = Binomial[n, k]; Print[br]]];
  176. BrKombinaciiBezPov2[4, 3];
  177.  
  178. 4
  179.  
  180. 6
  181.  
  182. 4
  183.  
  184.  
  185.  
  186.  
  187. (*Zadaca 14*)
  188. BrPermutaciiSoPov2[n_, m_] :=
  189. Module[{br, i, k},
  190. For[i = 1, i <= m, i++, k = i; br = n^k; Print[br]]];
  191. BrPermutaciiSoPov2[4, 3];
  192.  
  193. 4
  194.  
  195. 16
  196.  
  197. 64
  198.  
  199.  
  200.  
  201.  
  202. (*Zadaca 15*)
  203. BrKombinaciiSoPov2[n_, m_] :=
  204. Module[{br, i, k},
  205. For[i = 1, i <= m, i++, k = i; br = Binomial[n + k - 1, k];
  206. Print[br]]];
  207. BrKombinaciiSoPov2[3, 4];
  208.  
  209. 3
  210.  
  211. 6
  212.  
  213. 10
  214.  
  215. 15
  216.  
  217.  
  218. (*---------------------------------*)
  219.  
  220.  
  221. (*Zadaca 16 & Zadaca 17*)
  222. A = {a, b, c};
  223. B = {1, 2, 3, 4};
  224. SiteMozniPermutacii[mnoz_, k_] :=
  225. Module[{pom = {}, i, j, p},
  226. For[i = 1, i <= Length[mnoz], i++,
  227. For[j = 1, j <= k, j++, AppendTo[pom, mnoz[[i]]]]];
  228. p = Permutations[pom];
  229. Print["Brojot na site mozni permutacii nad mnozestvoto ", pom,
  230. " e: ", Length[p]];
  231. Print["Site mozni permutacii nad mnozestvoto ", pom, " se:", p]];
  232. SiteMozniPermutacii[A, 2];
  233. Print[];
  234. SiteMozniPermutacii[B, 1];
  235.  
  236. Brojot na site mozni permutacii nad mnozestvoto {a,a,b,b,c,c} e: 90
  237.  
  238. Site mozni permutacii nad mnozestvoto {a,a,b,b,c,c} se:{{a,a,b,b,c,c},{a,a,b,c,b,c},{a,a,b,c,c,b},{a,a,c,b,b,c},{a,a,c,b,c,b},{a,a,c,c,b,b},{a,b,a,b,c,c},{a,b,a,c,b,c},{a,b,a,c,c,b},{a,b,b,a,c,c},{a,b,b,c,a,c},{a,b,b,c,c,a},{a,b,c,a,b,c},{a,b,c,a,c,b},{a,b,c,b,a,c},{a,b,c,b,c,a},{a,b,c,c,a,b},{a,b,c,c,b,a},{a,c,a,b,b,c},{a,c,a,b,c,b},{a,c,a,c,b,b},{a,c,b,a,b,c},{a,c,b,a,c,b},{a,c,b,b,a,c},{a,c,b,b,c,a},{a,c,b,c,a,b},{a,c,b,c,b,a},{a,c,c,a,b,b},{a,c,c,b,a,b},{a,c,c,b,b,a},{b,a,a,b,c,c},{b,a,a,c,b,c},{b,a,a,c,c,b},{b,a,b,a,c,c},{b,a,b,c,a,c},{b,a,b,c,c,a},{b,a,c,a,b,c},{b,a,c,a,c,b},{b,a,c,b,a,c},{b,a,c,b,c,a},{b,a,c,c,a,b},{b,a,c,c,b,a},{b,b,a,a,c,c},{b,b,a,c,a,c},{b,b,a,c,c,a},{b,b,c,a,a,c},{b,b,c,a,c,a},{b,b,c,c,a,a},{b,c,a,a,b,c},{b,c,a,a,c,b},{b,c,a,b,a,c},{b,c,a,b,c,a},{b,c,a,c,a,b},{b,c,a,c,b,a},{b,c,b,a,a,c},{b,c,b,a,c,a},{b,c,b,c,a,a},{b,c,c,a,a,b},{b,c,c,a,b,a},{b,c,c,b,a,a},{c,a,a,b,b,c},{c,a,a,b,c,b},{c,a,a,c,b,b},{c,a,b,a,b,c},{c,a,b,a,c,b},{c,a,b,b,a,c},{c,a,b,b,c,a},{c,a,b,c,a,b},{c,a,b,c,b,a},{c,a,c,a,b,b},{c,a,c,b,a,b},{c,a,c,b,b,a},{c,b,a,a,b,c},{c,b,a,a,c,b},{c,b,a,b,a,c},{c,b,a,b,c,a},{c,b,a,c,a,b},{c,b,a,c,b,a},{c,b,b,a,a,c},{c,b,b,a,c,a},{c,b,b,c,a,a},{c,b,c,a,a,b},{c,b,c,a,b,a},{c,b,c,b,a,a},{c,c,a,a,b,b},{c,c,a,b,a,b},{c,c,a,b,b,a},{c,c,b,a,a,b},{c,c,b,a,b,a},{c,c,b,b,a,a}}
  239.  
  240.  
  241.  
  242. Brojot na site mozni permutacii nad mnozestvoto {1,2,3,4} e: 24
  243.  
  244. Site mozni permutacii nad mnozestvoto {1,2,3,4} se:{{1,2,3,4},{1,2,4,3},{1,3,2,4},{1,3,4,2},{1,4,2,3},{1,4,3,2},{2,1,3,4},{2,1,4,3},{2,3,1,4},{2,3,4,1},{2,4,1,3},{2,4,3,1},{3,1,2,4},{3,1,4,2},{3,2,1,4},{3,2,4,1},{3,4,1,2},{3,4,2,1},{4,1,2,3},{4,1,3,2},{4,2,1,3},{4,2,3,1},{4,3,1,2},{4,3,2,1}}
Advertisement
Add Comment
Please, Sign In to add comment