Pagini recente » Sport2 | Cod sursa (job #2820181) | Cod sursa (job #1661997) | Cod sursa (job #1247819) | Cod sursa (job #109878)
Cod sursa(job #109878)
#include <fstream>
std::ifstream f1("pairs.in");
std::ofstream f2("pairs.out");
void desc(long x, long fact[1100], long &nrf);
int main()
{
long perechi, n, i, j, k, m[1000100], fact[1100], nrf;
bool corect;
f1>>n;
for (i=0; i<n; i++)
{
f1>>m[i];
}//for i
perechi=0;
for (i=0; i<(n-1); i++)
{
desc(m[i], fact, nrf);
for (j=i+1; j<n; j++)
{
corect=1;
k=0;
while ((corect)&&(k<nrf))
{
if ((m[j]%fact[k])==0)
corect=0;
else
k++;
}//while
if (corect)
perechi++;
}//for j
}//for i
f2<<perechi;
f1.close();
f2.close();
return 0;
}//main
void desc(long x, long fact[1100], long &nrf)
{
long d=3;
nrf=0;
if ((x%2)==0)
fact[nrf++]=2;
while ((x%2)==0)
x/=2;
while (x>1)
{
if ((x%d)==0)
fact[nrf++]=d;
while ((x%d)==0)
x/=d;
d+=2;
}//while
}//desc