Cod sursa(job #1310954)
Utilizator | Data | 7 ianuarie 2015 15:33:02 | |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractii.in");
ofstream g("fractii.out");
int phi[1000001];
int main()
{
int N,k=-1,j;
f >> N;
for (int i=1; i<=N; i++) phi[i]=i;
for (int i=2; i<=N; i++)
if (phi[i]==i)
for (j=i; j<=N; j+=i) phi[j] /=i, phi[j] *= (i-1);
for(int i=1; i<=N; i++)
k+=phi[i]*2;
g << k;
return 0;
}