0
已采纳
用桶
输入
cin>>a[i];
b[a[i]]=1;
maxn=max(a[i],maxn);
之后处理倍数
for(int i=1;i<=n;i++){
for(int j=a[i]*2;j<=maxn;j+=a[i]){//遍历a[i]的倍数
if(b[j]){//这个数存在
c[j]=1;//标为有因数
}
}
}
然后遍历1~maxn,如果c[i]==1,则cnt++
最后输出n-cnt
0
