Cod sursa(job #34827)
Utilizator | David si Goliat pocaitu | Data | 21 martie 2007 15:01:56 |
---|---|---|---|
Problema | Indep | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<stdio.h>
int d,nr,i,j,n,s[500];
int long k;
int cmmdc(int a,int b)
{return !b?a:cmmdc(b,a%b);}
int main()
{freopen("indep.in","r",stdin);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&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++;
}
}
}
freopen("indep.out","w",stdout);
printf("%ld",k);
fclose(stdout);
return 0;
}