![](https://img-blog.csdnimg.cn/img_convert/c3bcf72915a129d3dc7f11b3dd45f01e.png)
输入
3
4
2 4 3 6
3
1 2 3
2
4 2
输出
4 5 6 7
3 2 3
4 2
题解思路
1.可以被任何数整除 ,所以1不能存在,a[i]==1,a[i]++;
如果 一个非1的数n,可以被a整除,那么a一定无法整除n+1;
献上代码
#include <bits/stdc++.h>
using namespace std;
int a[1000010];
int main() {
int t, n; cin >> t;
while (t--) {
cin >> n;
for (int i = 0; i < n; i++) {
cin >> a[i];
if (a[i] == 1)a[i]++;
}
for (int i = 1; i < n; i++) {
if (a[i] % a[i - 1] == 0)a[i]++;
}
for (int i = 0; i < n; i++) {
printf("%d%c", a[i], " \n"[i == (n - 1)]);
}
}
return 0;
}