https://www.hackerrank.com/contests/w8/challenges/john-and-gcd-list
简单题,GCD和LCM。
#include <vector>
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (a % b == 0) {
return b;
} else {
return gcd(b, a % b);
}
}
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
int main() {
int T;
cin >> T;
while (T--) {
int N;
cin >> N;
vector<int> A(N);
for (int i = 0; i < N; i++) {
cin >> A[i];
}
vector<int> B(N + 1);
for (int i = 1; i < N; i++) {
B[i] = lcm(A[i], A[i - 1]);
}
B[0] = A[0];
B[N] = A[N - 1];
for (int i = 0; i <= N; i++) {
cout << B[i] << " ";
}
cout << endl;
}
return 0;
}