Pagini recente » Cod sursa (job #294449) | Cod sursa (job #1058987) | Cod sursa (job #1479045) | Cod sursa (job #2731391) | Cod sursa (job #257645)
Cod sursa(job #257645)
#include <cstdio>
int N,a[505],VMAX,nr[2][1002];
int cmmdc(int x,int y){
if (y==0) return x;
return cmmdc(y,x%y);
}
int main(){
int i,j,k,prev,now;
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
scanf("%d",&N);
for (i=1,VMAX=0;i<=N;++i) {
scanf("%d",&a[i]);
if (a[i]>VMAX) VMAX=a[i];
}
for (i=1;i<=N;++i){
now=i&1;prev=1-now;
for (j=1;j<=VMAX;++j){
nr[now][j]=nr[prev][j];
k=cmmdc(j,a[i]);
nr[now][k]+=nr[prev][j];
}
++nr[now][a[i]];
}
for (i=1,k=0;i<=N;++i)
if (a[i]==1) ++k;
printf("%d",nr[now][1]-k);
return 0;
}