Pagini recente » Cod sursa (job #1282109) | Cod sursa (job #2846860) | Cod sursa (job #113412) | Cod sursa (job #1353150) | Cod sursa (job #109847)
Cod sursa(job #109847)
#include<fstream.h>
long gcd(long u, long v)
{
long shift;
if (u == 0 || v == 0)
return u | v;
for (shift = 0; ((u | v) & 1) == 0; ++shift) {
u >>= 1;
v >>= 1;
}
while ((u & 1) == 0)
u >>= 1;
do {
while ((v & 1) == 0)
v >>= 1;
if (u <= v) {
v -= u;
} else {
long diff = u - v;
u = v;
v = diff;
}
v >>= 1;
} while (v != 0);
return u << shift;
}
int main()
{
long v[100001],i,j,n,number=0;
ifstream in("pairs.in");
in>>n;
for(i=1;i<=n;i++)
in>>v[i];
in.close();
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(gcd(v[i],v[j])==1)
number++;
ofstream out("pairs.out");
out<<number<<"\n";
out.close();
return 0;
}