Cod sursa(job #759320)
| Utilizator | Data | 17 iunie 2012 15:58:17 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include<fstream>
using namespace std;
int phi[1000005];
long long PHI(int N)
{
long long sol = 0;
for (int i = 1; i <= N; ++i)
phi[i] = i-1;
for (int i = 2; i <= N; ++i)
{
for (int j = 2*i; j <= N; j += i)
phi[j] -= phi[i];
sol += phi[i];
}
return sol*2+1;
}
int main()
{
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int g;
fin>>g;
fout<<PHI(g);
return 0;
}
