Cod sursa(job #729462)

Utilizator crazzytudTudor Popa crazzytud Data 29 martie 2012 17:01:04
Problema Indep Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
int cmmdc(int a,int b)
{
    int r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
long long a[501][1005];
int i,n,d,j,v[501];

int main()
{
    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<=1001;j++)
        {
            d=cmmdc(v[i],j);
            a[i][d]+=a[i-1][j];
        }
        for(j=0;j<=1001;j++)
        a[i][j]+=a[i-1][j];
    }
    printf("%lld",a[n][1]);
    return 0;
}