Advertisement
Goga21

Untitled

Feb 27th, 2024
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | Source Code | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6.     int t;
  7.     cin >> t;
  8.     while(t--){
  9.         int a, b, l;
  10.         cin >> a >> b >> l;
  11.         int k1 = 0, k2 = 0;
  12.         vector<int> v, del1, del2;
  13.         while(pow(a,k1) <= l){
  14.             int c = pow(a,k1);
  15.             if(l % c == 0){
  16.                 del1.push_back(c);
  17.             }
  18.             k1++;
  19.         }
  20.         while(pow(b,k2) <= l){
  21.             int c = pow(b,k2);
  22.             if(l % c == 0){
  23.                 del2.push_back(c);
  24.             }
  25.             k2++;
  26.         }
  27.         for(int i = 1; i <= sqrt(l) + 1; i++){
  28.             if(l % i == 0){
  29.                 v.push_back(i);
  30.                 v.push_back(l/i);
  31.             }
  32.         }
  33.         if(l % 2 == 0){
  34.             v.push_back(l/2);
  35.         }
  36.         v.push_back(l);
  37.         set<int> p;
  38.         for(int i = 0; i < v.size(); i++){
  39.             for(int x = 0; x < del1.size(); x++){
  40.                 for(int y = 0; y < del2.size(); y++){
  41.                     if(l == v[i] * del1[x] * del2[y] && p.count(v[i]) == 0){
  42.                         p.insert(v[i]);
  43.                     }
  44.                 }
  45.             }
  46.         }
  47.         cout << p.size() << '\n';
  48.     }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement