Cod sursa(job #1152984)

Utilizator ThomasFMI Suditu Thomas Thomas Data 25 martie 2014 10:12:49
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>
using namespace std;

#define NMax 1000005

ifstream f("fractii.in");
ofstream g("fractii.out");

int n;
int phi[NMax];

void Preproc()
{
    int i,j;
    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);
}

long long CalcFrac()
{
    long long sum=1;
    for(int i=2;i<=n;i++) sum+=(long long)phi[i]*2;
    return sum;
}

int main()
{
    f>>n;

    Preproc();
    g<<CalcFrac()<<"\n";

    f.close();
    g.close();
    return 0;
}