Pagini recente » Cod sursa (job #935161) | Cod sursa (job #2097441) | Cod sursa (job #2303881) | Cod sursa (job #2556843) | Cod sursa (job #2250536)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int euclid(int a, int b)
{
if(b != 0)
return euclid(b, a%b);
else
return a;
}
int main()
{
int N;
long ct = 0;
fin >> N;
int i = 0, j = 0;
int ciur[N];
for(i = 0; i <= N; i++)
ciur[i] = true;
i = 0;
///////////////////////////////////////////////////////////
while (i <= ((int)sqrt(N) + 1))
{
if(i == 0 || i == 1)
i++;
else if(ciur[i]==true)
{
for(j = i + i; j <= N; j+=i)
{
ciur[j] = false;
}
i++;
}
else
i++;
}
ciur[0] = false;
/////////////////////////////////////////////////
for(i = 1; i <= N; i++)
{
for(j = 1; j <= N; j++)
{
if(i == j)
{
continue;
}
else if(i%2 == 0 && j%2 == 0)
{
continue;
}
else if(ciur[i] == true && ciur[j] == true && i != j)
{
ct++;
}
else if(euclid(i,j) == 1)
{
ct++;
}
}
}
fout << ct;
return 0;
}