Cod sursa(job #742364)

Utilizator visanrVisan Radu visanr Data 29 aprilie 2012 20:50:01
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <iostream>
using namespace std;


#define nmax 1000010

long long phi[nmax], n, sol = 1;


int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    int i, j;
    cin >> n;
    for(i = 1; i <= n; i++) phi[i] = i;
    for(i = 2; i <= n; i++)
    {
          if(phi[i] == i)
          {
                    for(j = i; j <= n; j += i) 
                    {
                          phi[j] /= i;
                          phi[j] *= (i - 1);
                    }
          }
    }
    for(i = 2; i <= n; i++) sol += 2*phi[i];
    cout << sol;
    return 0;
}