寻找倍数
欢迎报名洛谷网校,期待和大家一起进步!
如果一个数能是序列中所有数的倍数,那么它一定是序列中的最大值。例如
倘若其不是序列中的最大值,假设它为
s ,而序列中有一个更大的数t ,那么s 显然不可能是t 的正整数倍。
因此,我们要找到序列中的最大值 No;否则存在,输出 Yes。
int t; cin >> t;
while (t--) {
int n, maxa = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
maxa = max(a[i], maxa);
}
bool flag = true;
for (int i = 1; i <= n; i++) {
if (maxa % a[i] != 0) {
flag = false;
break;
}
}
if (flag) puts("Yes");
else puts("No");
}