Advertisement
KRESH-

resheto na erdosten

Nov 27th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. #include <cmath>
  2.  
  3. using namespace std;
  4. int main()
  5. {
  6. const unsigned ROWS = 4;
  7. int a, b;
  8.  
  9. do
  10. {
  11. cout << "a: " << endl;
  12. cin >> a;
  13. } while (a==0); // INPUT A&B
  14.  
  15. do
  16. {
  17. cout << "b: " << endl;
  18. cin >> b;
  19. } while (b == 0);
  20.  
  21. if (a < b)
  22. {
  23. a ^= b;
  24. b ^= a;
  25. a ^= b;
  26. } // A>B // A>B
  27.  
  28. int r = a, q = b, t = r % q; unsigned cols = 2;
  29.  
  30. while (t)
  31. {
  32. r = q;
  33. q = t;
  34. t = r % q;
  35. cols++;
  36. } // COL COUNT
  37.  
  38. cout << "cols: " << cols << endl;
  39.  
  40. int * arr[ROWS];
  41. for (int i=0;i<ROWS;i++)
  42. {
  43. arr[i] = new int[cols] {0};
  44. }
  45.  
  46. arr[0][0] = a;
  47. arr[0][1] = b;
  48. arr[2][0] = 1;
  49. arr[3][1] = 1;
  50.  
  51. r = a;
  52. q = b;
  53. t = r % q;
  54. unsigned j = 2;
  55.  
  56. while (t)
  57. {
  58. arr[0][j] = t;
  59. arr[1][j-1] = r / b;
  60. r = q;
  61. q = t;
  62. t = r % q;
  63. j++;
  64. }
  65.  
  66. arr[1][j - 1] = r / q;
  67.  
  68. for (int i =2;i<ROWS;i++)
  69. {
  70. for (int j=2;j<cols;j++)
  71. {
  72. arr[i][j] = arr[i - 1+i%2][j - 1] * arr[i][j - 1] + arr[i][j - 2];
  73. }
  74. }
  75.  
  76. for (int i = 0;i<ROWS;i++)
  77. {
  78. for (int j=0; j < cols; j++)
  79. {
  80. cout << arr[i][j]<< endl;
  81. }
  82. }
  83. cout << endl;
  84.  
  85.  
  86. for (int j = 0; j < cols; j++)
  87. {
  88. cout << arr[0][j] << "=" << pow(-1, j)*arr[2][j] << "*" << a << "+" << pow(1, j + 1) * arr[3][j] << "*" << b << endl;
  89.  
  90. }
  91.  
  92.  
  93. for (int i = 0; i < ROWS; i++)
  94. {
  95. if (arr[i] != nullptr) { delete[] arr[i]; } //DELETE[]
  96. }
  97.  
  98. return 0;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement