Pagini recente » Cod sursa (job #2350450) | Cod sursa (job #219460) | Cod sursa (job #616788) | Cod sursa (job #2218224) | Cod sursa (job #1375099)
#include <fstream>
using namespace std;
ifstream fin("indep.in");
ofstream fout("indep.out");
const int nmax= 500;
const int vmax= 1000;
int v[nmax+1], d[nmax+1][vmax+1];
int gcd( int x, int y ) {
if ( y==0 )
return x;
return gcd( y, x%y );
}
int main( ) {
int n;
fin>>n;
for ( int i= 1; i<=n; ++i ) {
fin>>v[i];
}
for ( int i= 1; i<=n; ++i ) {
++d[i][v[i]];
for ( int j= 1; j<=vmax; ++j ) {
int cmmdc= gcd(v[i+1], j);
d[i+1][j]= d[i+1][j]+d[i][j];
d[i+1][cmmdc]= d[i+1][cmmdc]+d[i][j];
}
}
fout<<d[n][1]<<"\n";
return 0;
}