Cod sursa(job #752261)

Utilizator anca1243Popescu Anca anca1243 Data 28 mai 2012 11:02:29
Problema Indep Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("indep.in");
ofstream out("indep.out");
int n,v[505],d[505][1005];
int cmmdc(int a,int b)
{
    int r;
    while(b != 0)
    {
        r = a%b;
        a = b;
        b = r;
    }
    return a;
}
void rez()
{
    int c;
    d[0][0]=1;
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j<=1000;j++)
        {
            c = cmmdc(j,v[i]);
            d[i][c] += d[i-1][j];
        }
        for(int j=0 ; j<=1000 ; j++)
            d[i][j] += d[i-1][j];
    }
}
int main()
{
    in>>n;
    int i,j;
    for(i=1;i<=n;i++)
        in>>v[i];
    rez();
    out<<d[n][1];
    return 0;
}