Pagini recente » Cod sursa (job #1713057) | Cod sursa (job #1309628) | Cod sursa (job #857968) | Cod sursa (job #1885884) | Cod sursa (job #96631)
Cod sursa(job #96631)
#include <cstdio>
#include <cstring>
#define Nmax 1024
int n, m = 1000;
int d[2][Nmax];
int sir[Nmax];
int gcd(int a, int b)
{
if (b == 0)
return a;
else
return gcd(b, a % b);
}
void citire()
{
int i;
scanf("%d\n", &n);
for (i = 1; i <= n; ++i)
scanf("%d", &sir[i]);
}
void solve()
{
int i, j, step = 0;
for (j = 1; j <= n; ++j, step = !step)
{
memcpy(d[!step], d[step], sizeof(d[step]));
for (i = 1; i <= n; ++i)
d[!step][gcd(sir[j], i)] += d[step][i];
++d[!step][sir[j]];
}
printf("%d\n", d[step][1]);
}
int main()
{
freopen("indep.in", "r", stdin);
freopen("indep.out", "w", stdout);
citire();
solve();
return 0;
}