Pagini recente » Cod sursa (job #1637366) | Cod sursa (job #1857956) | Cod sursa (job #796444) | Cod sursa (job #693576) | Cod sursa (job #572593)
Cod sursa(job #572593)
#include <fstream>
#define DN 100005
using namespace std;
static inline int gcd(int u, int v){
if(u == v)
return v;
if(0==u)
return v;
if(0==v)
return u;
if(0==(u&1)){
if(0==(v&1))
return (gcd((u>>1), (v>>1))<<1);
else
return gcd(u>>1, v);
}
else if(0==(v&1))
return gcd(u, (v>>1));
else{
if(u>=v)
return gcd(((u-v)>>1), v);
else
return gcd(((v-u)>>1), u);
}
}
int main()
{
ifstream f("pairs.in");
ofstream g("pairs.out");
int n,v[DN],i,j,rez=0;
f>>n;
for(i=1; i<=n; ++i) f>>v[i];
for(i=1; i<n; ++i) for(int j=i+1; j<=n; ++j) if(1==gcd(v[i],v[j]) ) ++rez;
g<<rez;
return 0;
}