题目链接:codeforces1603A
题目思路:
从头开始删数字,对于每个数字 a i a_i ai,如果它不能被 2 2 2 ~ i + 1 i+1 i+1 的数整除,说明它可以被删除。
参考代码:
#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int a[N];
int n;
int main() {
int t;
cin >> t;
while (t--) {
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
int flag, ff = 0;
for (int i = 1; i <= n; i++) {
flag = 0;
for (int j = 2; j <= i+1; j++) {
if (a[i]%j) {
flag = 1; break;}
}
if (!flag) {
ff = 1, puts("NO"); break;}
}
if (!ff) puts("YES");
}
return 0;
}