Cod sursa(job #1977407)

Utilizator refugiatBoni Daniel Stefan refugiat Data 5 mai 2017 11:09:57
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("fractii.in");
ofstream so("fractii.out");
int phi[1000005];

int main()
{
    int n;
    si>>n;
    for(int i=2;i<=n;++i)
        phi[i]=i;
    phi[2]=1;
    for(int i=4;i<=n;i+=2)
        phi[i]/=2;
    for(int i=3;i<=n;i+=2)
    {
        if(phi[i]==i)
        {
            --phi[i];
            for(int j=i*2;j<=n;j+=i)
            {
                phi[j]=phi[j]/i*(i-1);
            }
        }
    }
    long long sum=0;
    for(int j=2;j<=n;++j)
    {
        sum+=phi[j];
        //cout<<phi[j]<<' ';
    }
    //cout<<'\n';
    so<<sum*2+1;
    return 0;
}