Advertisement
Sammy24

Untitled

Apr 13th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. vector < int > suma;
  8. vector < int > produs;
  9. vector < int > cifren;
  10. int coeficienti[] = {4, 30, 50, 30, 6};
  11.  
  12. void prod(vector < int > &v, vector < int > &v2)
  13. {
  14. int i, j, t = 0;
  15.  
  16. vector < int > v3 = vector < int > (v.size() + v2.size() - 1 , 0);
  17.  
  18. for(i = 0; i < v.size(); i++)
  19. {
  20. for(j = 0; j < v2.size(); j++)
  21. {
  22. v3[i + j] += v[i] * v2[j];
  23. }
  24. }
  25.  
  26. for(i = 0; i < v3.size(); i++)
  27. {
  28. t += v3[i];
  29.  
  30. v3[i] = t % 10;
  31.  
  32. t /= 10;
  33. }
  34.  
  35. while(t)
  36. {
  37. v3.push_back(t % 10);
  38. t /= 10;
  39. }
  40.  
  41. v = vector < int > ();
  42.  
  43. for(i = 0; i < v3.size(); i++)
  44. {
  45. v.insert(v.begin() , v3[i]);
  46. }
  47. }
  48.  
  49. void adunare(vector < int > &v, vector < int > &v2)
  50. {
  51. int e = 0, i;
  52.  
  53. if(v.size() < v2 .size())
  54. {
  55. v.resize(v2.size());
  56.  
  57. for(i = v.size(); i < v2.size(); i++)
  58. {
  59. v.push_back(0);
  60. }
  61. }
  62. else
  63. {
  64. for(i = v2.size(); i < v.size(); i++)
  65. {
  66. v2.push_back(0);
  67. }
  68.  
  69. }
  70.  
  71. for(i = 0; i < v.size(); i++ , e /= 10)
  72. {
  73. e += (v[i] + v2[i]);
  74. v[i] = e % 10;
  75. }
  76.  
  77. if(e)
  78. {
  79. v.push_back(e);
  80. }
  81. }
  82.  
  83. void imp(vector < int > &v , int n)
  84. {
  85. int i , r = 0;
  86.  
  87. for(i = v.size() - 1; i >= 0; i--)
  88. {
  89. r = r * 10 + v[i];
  90. v[i] = r / n;
  91. r %= n;
  92.  
  93. //cout << v[i] << " " << r << " ";
  94. }
  95.  
  96.  
  97.  
  98. for( ; v.size() > 1 && v[v.size() - 1] == 0 ; )
  99. {
  100. v.pop_back();
  101. }
  102. cout<<"imp ";
  103. for(i = 0; i < v.size(); i++)
  104. {
  105. cout << v[i] << " ";
  106. }
  107. cout<<endl;
  108. }
  109.  
  110. int main()
  111. {
  112. int n;
  113.  
  114. cin >> n;
  115.  
  116. while(n)
  117. {
  118. cifren.insert(cifren.begin(), n % 10);
  119. n /= 10;
  120. }
  121.  
  122. int p = 1;
  123. int i, j;
  124.  
  125. for(i = 0; i < cifren.size(); i++)
  126. {
  127. cout << cifren[i];
  128. }
  129.  
  130. cout << '\n';
  131.  
  132. for(i = 0; i < 5; i++)
  133. {
  134. while(coeficienti[i])
  135. {
  136. produs.insert(produs.begin(), coeficienti[i] % 10);
  137. coeficienti[i] /= 10;
  138. }
  139.  
  140. cout << "\ncifre coeficienti: ";
  141.  
  142. for(j = 0; j < produs.size(); j++)
  143. {
  144. cout << produs[j];
  145. }
  146.  
  147. cout << '\n';
  148.  
  149. cout << "i: " << i + 1 << '\n';
  150.  
  151. for(j = 0; j < p; j++)
  152. {
  153. prod(produs, cifren);
  154. cout << "p: " << j + 1 << " ";
  155.  
  156. for(int k = 0; k < produs.size(); k++)
  157. {
  158. cout << produs[k];
  159. }
  160.  
  161. cout << '\n';
  162. }
  163.  
  164. cout << "produs nou: ";
  165.  
  166. reverse(produs.begin() , produs.end());
  167.  
  168. for(j = 0; j< produs.size(); j++)
  169. {
  170. cout << produs[j];
  171. }
  172.  
  173. cout << '\n' << "produs: ";
  174.  
  175. for(j = 0; j < produs.size(); j++)
  176. {
  177. cout << produs[j];
  178. }
  179.  
  180. cout << '\n';
  181.  
  182. adunare(suma, produs);
  183. p++;
  184. produs = vector < int > (0);
  185.  
  186. cout << "suma: ";
  187.  
  188. for(j = 0; j < suma.size(); j++)
  189. {
  190. cout << suma[j];
  191. }
  192.  
  193. cout << '\n';
  194. }
  195.  
  196. //reverse(suma.begin() , suma.end());
  197.  
  198. for(j = 0; j < suma.size(); j++)
  199. {
  200. cout << suma[j];
  201. }
  202.  
  203. cout << '\n';
  204.  
  205. imp(suma , 120);
  206.  
  207. for(i = 0; i < suma.size(); i++)
  208. {
  209. cout << suma[i];
  210. }
  211.  
  212. return 0;
  213. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement