题意:
如果在位置上不能被i+1整除就可以删除这个数,问可不可以把这个数列全部删除。
方法:
就是直接判断从2到i+1有没有数据可以成立即可,如果有就继续判断下一个,不行就输出NO如果都可以删除即可以输出YES。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5 + 10;
int a[maxn];
int main()
{
int t;
cin >> t;
while (t--)
{
int n;
cin >> n;
int last = 1;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int i = 1; i <= n; i++)
{
int flag = 0;
int m;
m = min(100, i+1);
for(int j = 2; j <= m; j++)
{
//cout << j << endl;
if(a[i]%j != 0)
{
flag = 1;
break;
}
}
if(flag == 0 && last == 1)
{
cout << "NO" << endl;
last = 0;
}
}
if(last == 1)
{
cout << "YES" << endl;
}
}
return 0;
}