Pagini recente » Cod sursa (job #1441385) | Cod sursa (job #3341896) | Cod sursa (job #1375173) | Cod sursa (job #3346860) | Cod sursa (job #1192947)
#include <fstream>
#define DIMN 505
#define VMAX 1001
using namespace std;
ifstream f("indep.in");
ofstream g("indep.out");
int d[DIMN][VMAX], v[DIMN];
int n, valm;
inline int maxim(int x, int y) {
return x>y ? x : y;
}
int cmmdc (int a, int b) {
int r;
while (b!=0) {
r = a % b;
a = b;
b = r;
}
return a;
}
int main() {
f>>n;
for (int i=1; i<=n; ++i) {
f >> v[i];
valm = maxim(valm, v[i]);
}
d[1][v[1]] = 1;
for (int i=2; i<=n; ++i) {
for (int j=1; j<=valm; ++j)
d[i][j] = d[i-1][j];
for (int j=1; j<=valm; ++j)
d[i][cmmdc(j,v[i])] += d[i-1][j];
}
g<<d[n][1]<<"\n";
return 0;
}