题目:点击打开链接
解体思路:看到ax+by=n就很容易联想到ax+by=gcd(a,b).
这是扩展欧几里得算法。
扩展欧几里得算法:对于不全为0的a和b,一定有一个整数对且唯一使得ax+by=gcd(a,b),
那这里a,b为都不为零,问是否有上面那个式子成立,这就好做了。
只要看n%gcd(a,b)是否为0即可。
代码:
#include<stdio.h>
int gcd(int a, int b) {
return b ? gcd(b, a % b) : a;
}
int main() {
int nCase, a, b, n;
scanf("%d",&nCase);
while (nCase--) {
scanf("%d%d%d",&a,&b,&n);
if (a < b) {
a^=b;
b^=a;
a^=b;
}
n % gcd(a, b) ? puts("No") : puts("Yes");
}
return 0;
}