Pagini recente » Cod sursa (job #1998251) | Cod sursa (job #1467371) | Cod sursa (job #2820210) | Cod sursa (job #2846767) | Cod sursa (job #6530)
Cod sursa(job #6530)
#include<stdio.h>
const int maxn = 1010;
int j;
int mat[maxn][maxn];
int a[maxn];
int i;
int n;
int cmmdc(int a, int b)
{
while (a)
{
int aux=a;
a=b%a;
b=aux;
}
return b;
}
int main()
{
freopen("indep.in","r",stdin);
freopen("indep.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
int x;
scanf("%d",&a[i]);
mat[i][a[i]]=1;
}
int x;
for(i=2;i<=n;i++)
{
for(j=1;j<=1000;j++)
mat[i][j]+=mat[i-1][j];
for(j=1000;j>0;j--)
if (mat[i-1][j]!=0)
{
x=cmmdc(j,a[i]);
mat[i][x]+=mat[i-1][j];
}
}
printf("%d",mat[n][1]);
return 0;
}