Pagini recente » Cod sursa (job #2035918) | Cod sursa (job #2221814) | Cod sursa (job #781282) | Cod sursa (job #1342688) | Cod sursa (job #494979)
Cod sursa(job #494979)
/*
pt fiecare pas;
nr solutii += 2^(n-i) - 2^(n-i-x)
x = nr de nr prime cu nr de la pasul curent;
*/
#include <cstdio>
const int N = 501;
int v[N],n;
void citire()
{
scanf("%i",&n);
for (int i = 1; i <= n; ++i)
scanf("%i",&v[i]);
}
int cmmdc(int a, int b)
{
int aux;
while (b != 0)
{
aux = a%b;
a = b;
b = aux;
}
return a;
}
int calc_x(int i)
{
int x=0;
for (int j = i+1; j <= n; ++j)
if (cmmdc(v[i],v[j]) == 1)
++x;
return x;
}
void calculare()
{
long long rez=0,x;
for (int i = 1; i <= n; ++i)
{
x = calc_x(i);
rez += (1<<(n-i-x))*((1<<x) - 1);
}
printf("%lli",rez);
}
int main()
{
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
citire();
calculare();
return 0;
}