GESP2024年6月认证C++三级( 第三部分编程题(2)寻找倍数)
参考程序:
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10; // 定义常量N,表示数组的最大长度
int a[N]; // 定义数组a,用于存储序列
int main() {
int t; // 定义变量t,表示测试用例的组数
cin >> t; // 读取测试用例的组数
// 处理每组测试用例
while (t--) {
int n; // 定义变量n,表示当前测试用例中序列的长度
cin >> n; // 读取序列的长度
int x = 0; // 定义变量x,用于存储序列中的最大值
for (int i = 1; i <= n; i++) {
cin >> a[i]; // 读取序列中的每个数
x = max(x, a[i]); // 更新序列中的最大值
}
int fl = 0; // 定义标志变量fl,初始值为0,表示假设x是序列中所有数的倍数
for (int i = 1; i <= n; i++) {
if (x % a[i]) fl = 1; // 如果x不能被a[i]整除,设置fl为1
}
// 根据fl的值输出结果
if (fl) cout << "No\n"; // 如果fl为1,输出No
else cout << "Yes\n"; // 否则输出Yes
}
}