Pagini recente » Cod sursa (job #1087647) | Cod sursa (job #1203260) | Cod sursa (job #2732070) | Cod sursa (job #586787) | Cod sursa (job #1053570)
#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] , 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;
}