题解 |
Gcd
https://ac.nowcoder.com/acm/contest/57360/G
和高等代数有关
注意事项
- 集合中没有重复的元素。
- 要特判 初始在集合中的情况
结论在 , 的情况下 可以通过一些操作使 在集合中出现
的充要条件是
证明如下:
设 一定存在正整数 使得
可以通过一次操作使得集合中存在 ,从而
存在集合中。由于 从而 一定可以存在集合中,从而可以把
加入集合。由于 , 可以设 。 故可能通过若干操作使得
出现在集合中。
void solve(){
int x, y, z;
cin >> x >> y >> z;
int d = __gcd(x, y);
if (x == z || y == z) {
cout << "YES\n";
return;
}
if (x == 0 || y == 0 || z == 0) {
cout << "NO\n";
return;
}
if (z % d == 0) cout << "YES\n";
else cout << "NO\n";
}