Pagini recente » Cod sursa (job #3125564) | Cod sursa (job #1333246) | Cod sursa (job #1573380) | Cod sursa (job #2694964)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
long long N,sum=1;
long long phi[1000000];
int main()
{
f>>N;
for(int i=2;i<=N;i++)
phi[i]=i-1; //pentru N>=2 pot forma N-1 cu N ca numitor fractii reductibile si ireductibile(fara inverse)
for(int i=2;i<=N;i++)
{
for(int j=2*i;j<=N;j+=i)
phi[j]-=phi[i]; //daca j este multiplu de i atunci scad din nr de fractii ale lui j nr de fractii ale lui i
sum+=phi[i];
}
g<<2*sum-1; //2*nr de fracii(se iau si inversele) si -1(1/1 sa nu il numar de doua ori)
return 0;
}