Pagini recente » Cod sursa (job #2167014) | Cod sursa (job #597472) | Cod sursa (job #1535438) | Cod sursa (job #2138057) | Cod sursa (job #34920)
Cod sursa(job #34920)
#include <stdio.h>
const int N_MAX = 512;
long long v[N_MAX], a[N_MAX][N_MAX];
long long cmmdc(long long a, long long b)
{
if (b == 0) {
return a;
} else {
return (cmmdc(b, a % b));
}
}
int main()
{
freopen("indep.in", "r", stdin);
#ifndef _BLA_
freopen("indep.out", "w", stdout);
#endif
long long N, i, MAX = 0;
scanf("%lld\n", &N);
for (i = 1; i <= N; i ++) {
scanf("%lld\n", &v[i]);
if (v[i] > MAX) {
MAX = v[i];
}
}
long long j;
for (i = 1; i <= N; i ++) {
a[i][v[i]] ++;
for (j = 1; j <= MAX; j ++) {
a[i][cmmdc(v[i], j)] += a[i - 1][j];
a[i][j] += a[i - 1][j];
}
}
printf("%lld\n", a[N][1]);
return 0;
}