Guest User

Untitled

a guest
May 15th, 2017
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.68 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<cstdio>
  3. #include<vector>
  4. #include<string>
  5. #include<iostream>
  6. #include<algorithm>
  7. #include<map>
  8. #include<iterator>
  9. #include<set>
  10. #include<stack>
  11. #include<queue>
  12. #include<fstream>
  13. #include<iomanip>
  14. #include <unordered_map>
  15. #include <unordered_set>
  16. #include <numeric>
  17. #include<cmath>
  18. #include<list>
  19. #include <sstream>
  20. #define rep(i,m,n) for(int i = (m); i < (n); i++)
  21. #define rep0(i, n) for(int i = (0); i < (n); i++)
  22. #define repd(i,m,n) for(int i=(m); i > (n); i--)
  23. #define ll long long
  24. #define ull unsigned ll
  25. #define pii pair<int,int>
  26. #define pll pair<ll,ll>
  27. #define plli pair<pll,int>
  28. #define mp make_pair
  29. #define endl '\n'
  30. #define pb push_back
  31. #define x first
  32. #define y second
  33. #define pt pair<ll,ll>
  34. #define vi vector<int>
  35. #define vll vector<ll>
  36. #define vvi vector<vi>
  37. #define vvll vector<vll>
  38. #define vpii vector<pii>
  39. #define vpll vector<pll>
  40. #define vpt vector<pt>
  41. #define vb vector<bool>
  42. #define vvb vector<vb>
  43. #define pdd pair<long double, long double>
  44. #define vpll vector<pll>
  45. #define vpdd vector<pair<long double, long double> >
  46. #define pq priority_queue
  47. #define M_PI 3.14159265358979323846
  48. using namespace std;
  49.  
  50. int main() {
  51.     ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  52.     //freopen("input.txt", "r", stdin);
  53.  
  54.     int t;
  55.     cin >> t;
  56.     while (t--) {
  57.         ll a, b;
  58.         cin >> a >> b;
  59.         ll g = __gcd(a, b);
  60.         a /= g;
  61.         b /= g;
  62.  
  63.         rep(i, 1, sqrt(a) + 1) {
  64.             if (i*i > a) {
  65.                 break;
  66.             }
  67.             if (a % (i*i) == 0) {
  68.                 a /= i*i;
  69.             }
  70.         }
  71.         rep(i, 1, sqrt(b) + 1) {
  72.             if (i*i > b) {
  73.                 break;
  74.             }
  75.             if (b % (i*i) == 0) {
  76.                 b /= i*i;
  77.             }
  78.         }
  79.  
  80.         cout << a << " " << b << endl;
  81.     }
  82.  
  83.     return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment