Pagini recente » Istoria paginii runda/emag_2016-incepatori-2 | Cod sursa (job #2037175) | Cod sursa (job #1682634) | Cod sursa (job #2007057) | Cod sursa (job #1783379)
#include <fstream>
using namespace std;
ifstream fin ("indep.in");
ofstream fout("indep.out");
long long f(int x){
int y=1;
for(int i=1;i<=x;i++){
y*=2;
}
return y;
}
int n,i,j,maxim,i1,q,e,sol,k,v[503],x[1003],y[1003];
int main(){
fin>>n;
for(i=1;i<=n;i++){
fin>>v[i];
if(v[i]>maxim){
maxim=v[i];
}
}
for(i=2;i<=maxim;i++){
j=2;
i1=i;
int ok=1;
q=0;
while(i1!=1){
e=0;
while(i1%j==0){
e++;
i1/=j;
}
if(e>=2){
ok = 0;
}
if(e==1){
q++;
}
j++;
}
if (ok==1) {
x[++k]=i;
y[k]=q;
}
}
for (i=1;i<=k;i++) {
q=0;
for (j=1;j<=n;j++)
if (v[j]%x[i]==0)
q++;
if (y[i]%2==1)
sol+=(f(q)-1);
else
sol-=(f(q)-1);
}
fout<<f(n)-1-sol;
return 0;
}