Pagini recente » Cod sursa (job #2580956) | Cod sursa (job #475245) | Cod sursa (job #1846981) | Cod sursa (job #2515815) | Cod sursa (job #1490415)
#include <stdio.h>
using namespace std;
const int N=501;
int miu[2*N];
int d[N][2*N];
int main()
{
FILE *in=fopen("indep.in","r");
FILE *out=fopen("indep.out","w");
int n,m=1000,i,j,x,s;
for(i=1;i<=m;i++)
{
j=2; x=i; miu[i]=1;
while(x>1)
{
if(x%j==0)
{
miu[i]*=-1;
x/=j;
if(x%j==0)
miu[i]=0;
while(x%j==0)
x/=j;
}
j++;
}
}
fscanf(in,"%d",&n);
for(j=1;j<=m;j++)
d[0][j]=1;
for(i=1;i<=n;i++)
{
fscanf(in,"%d",&x);
//numara cate se divid cu x
for(j=1;j<=m;j++)
{
d[i][j]=d[i-1][j];
if(x%j==0) d[i][j]*=2;
}
}
s=0;
for(j=1;j<=m;j++)
s+=(d[n][j]-1)*miu[j];
fprintf(out,"%d",s);
return 0;
}