Cod sursa(job #495729)
| Utilizator | Data | 26 octombrie 2010 19:20:06 | |
|---|---|---|---|
| Problema | Indep | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.49 kb |
#include<stdio.h>
int cmmdc(int a, int b)
{
int r;
while(b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
int n,i,j,v[502],a[502][1002],d;
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
for(i=1;i<=n;++i)
{
for(j=1;j<=1000;++j) a[i][j]=a[i-1][j];
for(j=1;j<=1000;++j)
{
d=cmmdc(v[i],j);
a[i][d]+=a[i-1][j];
}
a[i][v[i]]++;
}
printf("%d",a[n][1]);
return 0;
}
