Pagini recente » Cod sursa (job #598015) | Cod sursa (job #2752320) | Cod sursa (job #312365) | Cod sursa (job #2779507) | Cod sursa (job #1053580)
#include<fstream>
#include<iostream>
#define VAL 1001
#define NMAX 501
using namespace std;
fstream in ( "indep.in" , ios::in ),
out( "indep.out", ios::out);
int n , v[NMAX] ;
long long d[NMAX][VAL];
int cmmdc( int a, int b ){
while( a ){
if( a < b) swap( a , b );
a = a % b;
}
return b;
}
int main(){
in >> n;
for(int i=1; i<=n; i++){
in >> v[i];
}
d[1][v[1]] = 1;
for(int i=1; i<=n; i++){
for(int j=1; j<=VAL; j++){
d[i][cmmdc(j,v[i])] += d[i-1][j];
}
for(int j=1; j<=VAL; j++){
d[i][j]+=d[i-1][j];
}
}
out << d[n][1] <<'\n';
return 0;
}