Pagini recente » Cod sursa (job #2741376) | Cod sursa (job #2074649) | Cod sursa (job #1825244) | Cod sursa (job #1601639) | Cod sursa (job #2294480)
#include <bits/stdc++.h>
#define N 501
#define ll long long
#define f first
#define s second
using namespace std;
ifstream in("indep.in");
ofstream out("indep.out");
int v[N*N*N];
ll gcd(ll a,ll b){
if(!a || !b)
return a+b;
if(a>b)
return gcd(a%b,b);
return gcd(a,b%a);
}
int main(){
ll n,nr=0,x,l=0,g,i,sum=0,l2,nr2=0;
in>>n>>x;
v[++l]=x;
--n;
while(n--){
in>>x;
l2=l;
nr+=nr2;
nr2=nr;
if(x==1) ++nr;
else v[++l]=x;
for(i=1; i<=l2; ++i){
g=gcd(v[i],x);
if(g==1)
++nr;
else
v[++l]=g;
}
sum+=nr;
}
out<<sum;
return 0;
}