Pagini recente » Cod sursa (job #3348634) | Cod sursa (job #1655971) | Cod sursa (job #756647) | Cod sursa (job #3315374) | Cod sursa (job #1014852)
#include<stdio.h>
#define NMAX 507
int n, a[NMAX], D[NMAX][NMAX * 2];
inline int cmmdc(int a, int b){
if(!b)
return a;
return cmmdc(b, a % b);
}
int main(){
freopen("indep.in", "r", stdin);
freopen("indep.out", "w", stdout);
scanf("%d", &n);
for(int i = 1; i <= n; ++ i)
scanf("%d", &a[i]);
for(int i = 1; i <= n; ++ i)
D[i][a[i]] = 1;
for(int i = 1; i <= n; ++ i)
for(int j = 1; j <= 1000; ++ j){
D[i + 1][j] += D[i][j];
D[i + 1][cmmdc(j, a[i])] += D[i][j];
}
printf("%d", D[n][1]);
return 0;
}