Pagini recente » Cod sursa (job #2908129) | Cod sursa (job #1315667) | Cod sursa (job #574009) | Cod sursa (job #2828461) | Cod sursa (job #282673)
Cod sursa(job #282673)
#include <cstdlib>
#include <iostream>
using namespace std;
long sol[100000][2];
int nr=0;
long cmmdc(long a, long b)
{
if((!a) || (!b)) return a+b;
if(a>b) return cmmdc(a%b,b);
return cmmdc(a,b%a);
}
bool e(long a,long b)
{
bool rr=false;
int i1=0;
while(i1<nr)
{
if ((sol[i1][0]==a) && (sol[i1][1]==b)) { rr=true; i1=nr;}
else if ((sol[i1][0]==b) && (sol[i1][1]==a)) {rr=true; i1=nr;}
i1++;
}
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 (i!=j && m[i]!=m[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;
}