Pagini recente » Cod sursa (job #2652566) | Cod sursa (job #2093735) | Cod sursa (job #2691676) | Cod sursa (job #2356370) | Cod sursa (job #2469206)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("indep.in");
ofstream fout("indep.out");
int gcd(int a, int b){
if(a == 0){
return b;
}
return gcd(b%a, a);
}
int n;
int di[1014][1014];
void namica(int p){
int a;
fin >> a;
for(int d = 1; d <= 1000; d++){
if(di[p-1][d] != 0){
di[p][gcd(d, a)] += di[p-1][d];
di[p][d] += di[p-1][d];
}
}
di[p][a] += 1;
}
void showit(){
for(int i = 1; i <= 6; i++){
for(int j = 1; j <= n; j++){
cout << di[j][i] << " ";
}
cout << "\n";
}
}
int sol = 0;
int main(){
fin >> n;
for(int i = 1; i <= n; i++){
namica(i);
}
fout << di[n][1];
}