Pagini recente » Cod sursa (job #2238579) | Cod sursa (job #130716) | Cod sursa (job #282297) | Cod sursa (job #3202349) | Cod sursa (job #274082)
Cod sursa(job #274082)
#include<fstream.h>
int n,v[100],st[3],nr;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
int gcd(int a, int b)
{
if (!b) return a;
return gcd(b, a % b);
}
int valid(int p)
{
if(p>1)
{
if(st[p]==st[p-1])
return 0;
if(gcd(st[p],st[p-1])>1)
return 0;
}
return 1;
}
void bkt(int p)
{
for(int val=1;val<=n;val++)
{
st[p]=v[val];
if(valid(p))
if(p==2)
nr++; //fout<<st[1]<<" "<<st[2]<<endl;
else
bkt(p+1);
}
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
fin>>v[i];
bkt(1); fout<<nr/2;
return 0;
}