Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cmath>
- using namespace std;
- int main()
- {
- const unsigned ROWS = 4;
- int a, b;
- do
- {
- cout << "a: " << endl;
- cin >> a;
- } while (a==0); // INPUT A&B
- do
- {
- cout << "b: " << endl;
- cin >> b;
- } while (b == 0);
- if (a < b)
- {
- a ^= b;
- b ^= a;
- a ^= b;
- } // A>B // A>B
- int r = a, q = b, t = r % q; unsigned cols = 2;
- while (t)
- {
- r = q;
- q = t;
- t = r % q;
- cols++;
- } // COL COUNT
- cout << "cols: " << cols << endl;
- int * arr[ROWS];
- for (int i=0;i<ROWS;i++)
- {
- arr[i] = new int[cols] {0};
- }
- arr[0][0] = a;
- arr[0][1] = b;
- arr[2][0] = 1;
- arr[3][1] = 1;
- r = a;
- q = b;
- t = r % q;
- unsigned j = 2;
- while (t)
- {
- arr[0][j] = t;
- arr[1][j-1] = r / b;
- r = q;
- q = t;
- t = r % q;
- j++;
- }
- arr[1][j - 1] = r / q;
- for (int i =2;i<ROWS;i++)
- {
- for (int j=2;j<cols;j++)
- {
- arr[i][j] = arr[i - 1+i%2][j - 1] * arr[i][j - 1] + arr[i][j - 2];
- }
- }
- for (int i = 0;i<ROWS;i++)
- {
- for (int j=0; j < cols; j++)
- {
- cout << arr[i][j]<< endl;
- }
- }
- cout << endl;
- for (int j = 0; j < cols; j++)
- {
- cout << arr[0][j] << "=" << pow(-1, j)*arr[2][j] << "*" << a << "+" << pow(1, j + 1) * arr[3][j] << "*" << b << endl;
- }
- for (int i = 0; i < ROWS; i++)
- {
- if (arr[i] != nullptr) { delete[] arr[i]; } //DELETE[]
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement