Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main() {
- int t;
- cin >> t;
- while(t--){
- int a, b, l;
- cin >> a >> b >> l;
- int k1 = 0, k2 = 0;
- vector<int> v, del1, del2;
- while(pow(a,k1) <= l){
- int c = pow(a,k1);
- if(l % c == 0){
- del1.push_back(c);
- }
- k1++;
- }
- while(pow(b,k2) <= l){
- int c = pow(b,k2);
- if(l % c == 0){
- del2.push_back(c);
- }
- k2++;
- }
- for(int i = 1; i <= sqrt(l) + 1; i++){
- if(l % i == 0){
- v.push_back(i);
- v.push_back(l/i);
- }
- }
- if(l % 2 == 0){
- v.push_back(l/2);
- }
- v.push_back(l);
- set<int> p;
- for(int i = 0; i < v.size(); i++){
- for(int x = 0; x < del1.size(); x++){
- for(int y = 0; y < del2.size(); y++){
- if(l == v[i] * del1[x] * del2[y] && p.count(v[i]) == 0){
- p.insert(v[i]);
- }
- }
- }
- }
- cout << p.size() << '\n';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement