Pagini recente » Borderou de evaluare (job #3367357) | Borderou de evaluare (job #3367371) | Borderou de evaluare (job #3367351) | Borderou de evaluare (job #3367350) | Cod sursa (job #3367366)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("pairs.in");
ofstream fout("pairs.out");
int v[1000001];
vector <int> ciur;
void make_cuir()
{
v[0]=1;
v[1]=1;
for(int i=2;i<=1000000;i++)
{
if(v[i]==0)
{
ciur.push_back(i);
for(int j=2;j*i<=1000000;j++)
{
v[i*j] = 1;
}
}
}
}
bool p_intre_ele(int a, int b)
{
for(int i=0;i<ciur.size()&&ciur[i]<=min(a,b);i++)
{
if(a%ciur[i]==0&&b%ciur[i]==0)
return 0;
}
return 1;
}
int main()
{
make_cuir();
int n;
fin>>n;
int s=0;
int v[n];
for(int i=0;i<n;i++)
fin>>v[i];
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(p_intre_ele(v[i],v[j]))
{
s++;
}
}
}
cout<<s;
fout<<s;
return 0;
}