Guest User

Untitled

a guest
Feb 15th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. void getDivisor(vector<int> &v, int n) {
  6.   for (int i = 1; i < int((n / 2) + 1); i++) {
  7.     if (!(n % i))
  8.       v.push_back(i);
  9.   }
  10.   v.push_back(n);
  11. }
  12.  
  13. void getCommon(vector<int> &v1, vector<int> &v2, vector<int> &ret) {
  14.   for (int x : v1) {
  15.     for (int y : v2) {
  16.       if (x == y)
  17.         ret.push_back(x);
  18.     }
  19.   }
  20. }
  21.  
  22. void showVec(vector<int> &v) {
  23.   for (int x : v) {
  24.     cout << x << '\n';
  25.   }
  26. }
  27.  
  28. int main() {
  29.   int n;
  30.   int r[3];
  31.   cin >> n;
  32.   for (int i = 0; i < n; i++) {
  33.     int m;
  34.     cin >> m;
  35.     r[i] = m;
  36.   }
  37.  
  38.   vector<int> div[3];
  39.  
  40.   for (int i = 0; i < n; i++) {
  41.     getDivisor(div[i], r[i]);
  42.   }
  43.  
  44.   vector<int> ret[2];
  45.  
  46.   getCommon(div[0], div[1], ret[0]);
  47.   if (n == 3) {
  48.     getCommon(div[2], ret[0], ret[1]);
  49.   }
  50.  
  51.   if (n == 2) {
  52.     showVec(ret[0]);
  53.   } else {
  54.     showVec(ret[1]);
  55.   }
  56.  
  57.   return 0;
  58. }
Add Comment
Please, Sign In to add comment