Cod sursa(job #896880)

Utilizator crazzytudTudor Popa crazzytud Data 27 februarie 2013 17:43:41
Problema Indep Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
using namespace std;

ifstream in("indep.in");
ofstream out("indep.out");
int cmmdc(int a, int b)
{
    int r;
    while(b)
    {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}

long long rez[501][1001];
int v[501];
int main()
{
    int n, i, j;
    in >> n;
    for(i=1; i<=n; i++)
    {
        in >> v[i];
    }
    rez[1][0]=rez[1][v[1]]=1;

    for(i=2;i<=n;i++)
    {
        for(j=0;j<=1001;++j)
            rez[i][cmmdc(j,v[i])] += rez[i-1][j];
        for(j=0;j<=1001;j++)
            rez[i][j] += rez[i-1][j];
    }

    out<<rez[n][1] - rez[n-1][1]<<"\n";

}