Cod sursa(job #1752427)
Utilizator | Data | 3 septembrie 2016 20:53:24 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int const NMax = 1000005;
int V[NMax];
int n;
long long sol;
void Solve()
{
int i, j;
for(i=1; i<=n; i++)
V[i] = i;
for(i=2; i<=n; i++)
if(V[i] == i){
for(j=2*i; j<=n; j+=i)
V[j] -= V[j] / i;
V[i]--;
}
for(i=1; i<=n; i++)
sol += V[i];
g<<sol * 2 - 1<<"\n";
}
int main()
{
f>>n;
Solve();
return 0;
}