CF1604 C. Di-visible Confusion(lcm)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b)
{
    
    
    ll sum=b==0?a:gcd(b,a%b);
    return sum;
}
ll lcm(ll a,ll b)
{
    
    
    ll g=gcd(a,b);
    ll sum=a*b/g;
    return sum;
}
void solve(){
    
    
    int n;
    scanf("%d",&n);
    ll k=1,ok=1;
    for(int i=1;i<=n;i++)
    {
    
    
        ll x;
        scanf("%lld",&x);
        k=lcm(k,i+1);
        if(x%k==0)ok=0;
    }
    if(ok)puts("YES");
    else puts("NO");
}
int main()
{
    
    
    int T;
    scanf("%d",&T);
    while(T--)solve();
    return 0;
}

おすすめ

転載: blog.csdn.net/Ambrumf/article/details/121130768