题目大意:给定a,b,c,问有多少组正整数解满足ax+by=c
解题思路:这题数据范围比较小,不需要用拓展欧几里得求通解,直接暴力即可,反而用拓展欧几里得要考虑溢出和精度的问题。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main () {
int cas;
scanf("%d", &cas);
while (cas--) {
int a, b, c, ans = 0;
scanf("%d%d%d", &a, &b, &c);
int p = max(a, b), q = min(a, b);
do {
c -= p;
if (c % q == 0 && c / q >= 1)
ans++;
} while (c > 0);
printf("%d\n", ans);
}
return 0;
}