样例没过,看了一圈没看出问题
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <set>
using namespace std;
inline void pass(){return;}
#define mp(a,b) make_pair(a,b)
#define cdb cerr<<"Debug: "
#define cwn cerr<<"Warn: "
#define ll long long
#define ull unsigned long long
#define ld long double
// #define int ll
// #define debug
int t,a,b,l;
set <int> ans;
void solve(int testID){
ans.clear();
cin >> a >> b >> l;
for(int x=0;a*x<=l;x++){
for(int y=0;a*x+y*b<=l;y++){
int sum=pow(a,x)+pow(y,b);
int k=l/sum;
if(sum*k==l) ans.insert(k);
}
}
cout << ans.size() << "\n";
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
// freopen(".in", "r", stdin);
// freopen(".out", "w", stdout);
// freopen("PublicDebug.debug", "w", stderr);
// t = 1;
cin >> t;
for(int ran=0;ran<t;ran++) solve(t);
fflush(stdout);
return 0;
}