Pagini recente » Cod sursa (job #2547520) | Cod sursa (job #353794) | Cod sursa (job #1174694) | Cod sursa (job #1092734) | Cod sursa (job #2092484)
#include <fstream>
using namespace std;
ifstream cin("indep.in");
ofstream cout("indep.out");
const int N = 510, MAX = 1001;
int v[N];
long long d[N][MAX];
int cmmdc(int a, int b) {
int rest = 0;
while (b != 0) {
rest = a % b;
a = b;
b = rest;
}
return a;
}
int main()
{
int n;
cin >> n;
for (int i = 1 ; i <= n; ++i) {
cin >> v[i];
}
d[1][v[1]] = 1;
for (int i = 2; i <= n; ++i) {
for (int j = 1; j < MAX; ++j) {
d[i][j] = d[i - 1][j];
}
for (int j = 1; j < MAX; ++j) {
d[i][cmmdc(v[i], j)] += d[i - 1][j];
}
d[i][v[i]]++;
}
cout << d[n][1];
return 0;
}