Pagini recente » Cod sursa (job #126440) | Cod sursa (job #274008) | Cod sursa (job #402276) | Cod sursa (job #2057199) | Cod sursa (job #1833812)
#include<fstream>
#include<math.h>
bool divComun(int a, int b)
{
int c;
a < b ? c = b : c = a;
if (a%b == 0 || b%a == 0) return true;
if (a % 2 == 0 && b % 2 == 0) return true;
for (int i = 3; i <=sqrt(c); i+=2)
{
if (a%i == 0 && b%i == 0) return true;
}
return false;
}
int indicEuler(int a)
{
int nr=1;
for (int i = 1; i <=a; a%2==0?i+=2:i++){
if (!divComun(a, i)) nr++;
}
return nr;
}
int main()
{
std::ifstream f("fractii.in");
std::ofstream g("fractii.out");
int n;
f >> n;
f.close();
int nr = 0;
for (int i = 1; i <= n; i++)
{
nr += indicEuler(i);
}
g << 2*nr-1;
g.close();
return 0;
}