2023 年牛客多校第六场题解 G题补题题解

Gcd

https://ac.nowcoder.com/acm/contest/57360/G

#G Gcd
由题意,我们不难发现这个过程为辗转相减的过程,所以可以得到gcd(a,b).
由于gcd(a,b)可以产生负数,所以通过此过程可以得到所有的gcd(a,b)的倍数。
注意:z=0 (此处就是小编未能通过此题的原因)
以下小编附上代码:

#include <bits/stdc++.h>

using namespace std;
void Solve() {
    int a, b, c, d = 0;
    scanf("%d%d%d", &a, &b, &c);
    puts((!c && (!a || !b)) || (c && c % __gcd(a, b) == 0) ? "YES" : "NO");
}
int main() {
    int t = 1;
    scanf("%d", &t);
    while (t--) Solve();
    return 0;
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务