Pagini recente » Cod sursa (job #2804690) | Cod sursa (job #687497) | Borderou de evaluare (job #428082) | Borderou de evaluare (job #2021142) | Cod sursa (job #1146701)
#include <fstream>
using namespace std;
ifstream in("indep.in");
ofstream out("indep.out");
int v[501];
int d[501][1001];
int cmmdc(int a , int b)
{
int c;
while(b)
{
c = a % b;
a = b;
b = c;
}
return a;
}
int main()
{
int n , i , j , k;
in>>n;
for (i = 1 ; i <= n ; i++)
in>>v[i];
d[1][v[1]] = 1;
for (i = 2 ; i <= n ; i++)
for (j = 1 ; j <= 1000 ; j++)
{
d[i][j] = d[i - 1][j];
for (k = 1 ; k <= 1000 ; k++)
if(cmmdc(k , v[i]) == j)
d[i][j] += d[i - 1][k];
}
out<<d[n][1]<<'\n';
return 0;
}