问题标题: 酷町堂:5159

0
0

0
已采纳
李奕歌
李奕歌
初级天翼
初级天翼

核心:

int a[1000010],b[110];



bool zs(int n){
    if(n==1) return false;
    for(int i=2;i<=sqrt(n);i++){
        if(n%i==0) return false;
    }
    return true;
}




    输入n
    for(int i=1;i<=n;i++){
        cin>>b[i];
        maxn=max(maxn,b[i]);
    }
    for(int i=2;i<=maxn;i++){
        if(a[i]==0){
            for(int j=2*i;j<=maxn;j+=i){
                a[j]++;
            }
        }
    }
    for(int i=1;i<=n;i++){
        if(zs(b[i])) a[b[i]]=1;
        cout<<a[b[i]]<<endl;
    }

 

0
吕梓瑜
吕梓瑜
初级天翼
初级天翼
全局:
    int a[1000010],b[110];
    bool ss(int n){
        if(n==1) return false;
        for(int i=2;i<=sqrt(n);i++){
            if(n%i==0) return false;
        }
        return true;
    }
主函数:
    int n,maxn=0;
    输入n;
    for(从1到n){
        输入b[i];
        maxn等于//一个等号max(maxn,b[i]);
    } 
    for(从2到maxn){
        if(a[i]等于//一个等号0){
            for(从2*i到maxn;每次加i){
                a[j]加1;
            }
        }
    }
    for(从1到n){
        if(ss(b[i]))a[b[i]]等于1;
        cout<<a[b[i]]<<换行;
    }
    return 0;

 

我要回答