Pagini recente » Borderou de evaluare (job #651567) | Cod sursa (job #711775) | Borderou de evaluare (job #1247345) | usu6 | Cod sursa (job #546266)
Cod sursa(job #546266)
#include<stdio.h>
const int N=1001;
long long n,v[501],a[N][N],d;
int cmmdc(int a,int b)
{
int r;
while (b!=0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int main()
{
long long i,j;
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",&v[i]);
a[1][0]=a[1][v[1]]=1;
for(i=2;i<=n;++i)
{
for(j=0;j<=N;j++)
{
d=cmmdc(v[i],j);
a[i][d]+=a[i-1][j];
}
for(j=0;j<=N;j++)
a[i][j]+=a[i-1][j];
}
printf("%d",a[n][1]);
}