Pagini recente » Cod sursa (job #1619868) | Cod sursa (job #2733239) | Cod sursa (job #1382470) | Cod sursa (job #2592871) | Cod sursa (job #282667)
Cod sursa(job #282667)
#include <cstdlib>
#include <iostream>
using namespace std;
long sol[100000][2];
int nr=0;
long cmmdc(long a,long b)
{
long r;
r=a%b;
while(r!=0)
{a=b;
b=r;
r=a%b;
}
return b;
}
bool e(long a,long b)
{
bool rr=false;
for(long i1=0;i1<nr;i1++)
if ((sol[i1][0]==a) && (sol[i1][1]==b)) rr=true;
else if ((sol[i1][0]==b) && (sol[i1][1]==a)) rr=true;
return rr;
}
int main(int argc, char *argv[])
{
freopen("pairs.in","r",stdin);
freopen("pairs.out","w",stdout);
int m[100000],
n,aux;
scanf("%i",&n);
scanf("%i",&aux);
m[0]=aux;
for (long i=1;i<n;i++)
{
scanf("%i",&m[i]);
if ((cmmdc(aux,m[i])==1) && (!e(aux,m[i])))
{
sol[nr][0]=aux;
sol[nr][1]=m[i];
nr++;
}
}
for (long i=1;i<n;i++)
{
for (long j=0;j<n;j++)
{
if ((cmmdc(m[i],m[j])==1) && (!e(m[i],m[j])))
{
sol[nr][0]=m[i];
sol[nr][1]=m[j];
nr++;
}
}
}
cout << nr;
fclose(stdin);
fclose(stdout);
return 0;
}