Cod sursa(job #1826686)
| Utilizator | Data | 10 decembrie 2016 18:58:25 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
#include <cmath>
#define sz 1000001
using namespace std;
int n, phi[sz];
long long sol;
ifstream fin("fractii.in");
ofstream fout("fractii.out");
int main()
{
fin >> n;
for (int i = 1; i <= n; i++)
phi[i] = i;
sol = phi[1];
for (int i = 2; i <= n; i++)
{
if (phi[i] == i)
{
for (int j = i; j <= n; j += i)
phi[j] -= phi[j] / i;
}
sol += 2 * phi[i];
}
fout << sol;
return 0;
}
