Pagini recente » Cod sursa (job #1289112) | Cod sursa (job #2223552) | Cod sursa (job #2257218) | Cod sursa (job #1351566) | Cod sursa (job #34844)
Cod sursa(job #34844)
#include<stdio.h>
int long d,nr,i,j,n,s[500],k1;
long long k;
int long cmmdc(int long a,int long b)
{return !b?a:cmmdc(b,a%b);}
int main()
{freopen("indep.in","r",stdin);
scanf("%ld",&n);
for(i=1;i<=n;i++)
scanf("%ld",&s[i]);
for(i=1;i<=n;i++)
{nr=i-1;
for(j=i+1;j<=n;j++)
{d=cmmdc(s[i],s[j]);
if(d==1)
{k+=1<<n-2-nr;
nr++;
}
}
}
k1=k;k=0;
for(i=1;i<1<<n;i++)
{for(j=0,nr=0;j<n;j++)
if(i&1<<j)
{nr++;
if(nr==1)
d=s[j+1];
else
d=cmmdc(s[j+1],d);
}
if(d==1)
k++;
}
freopen("indep.out","w",stdout);
printf("%ld",k);
fclose(stdout);
return 0;
}