Pagini recente » Cod sursa (job #3221996) | Cod sursa (job #2307792) | Cod sursa (job #2719046) | Cod sursa (job #3140283) | Cod sursa (job #975239)
Cod sursa(job #975239)
#include <fstream>
#define NM 510
#define VM 1010
using namespace std;
ifstream f("indep.in");
ofstream g("indep.out");
inline int cmmdc (int a, int b)
{
int r;
while (b)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int N, i, j;
int A[NM];
long long DP[NM][VM];
int main ()
{
f >> N;
for (i=1; i<=N; i++)
f >> A[i];
for (i=1; i<=N; i++)
{
DP[i][A[i]]++;
for (j=1; j<=1000; j++)
{
DP[i][j]+=DP[i-1][j];
DP[i][cmmdc(A[i], j)]+=DP[i-1][j];
}
}
g << DP[N][1] << '\n';
f.close();
g.close();
return 0;
}