Cod sursa(job #1471388)

Utilizator andrettiAndretti Naiden andretti Data 13 august 2015 18:17:06
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#include<algorithm>
#define maxn 1000005
using namespace std;

int n;
long long phi[maxn];

void solve()
{
    for(int i=2;i<=n;i++) phi[i]=i;
    for(int i=2;i<=n;i++)
     if(phi[i]==i)
      for(int j=i;j<=n;j+=i)
       phi[j]/=i,phi[j]*=(i-1);

    for(int i=2;i<=n;i++) phi[i]+=phi[i-1];
}

int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);

    scanf("%d",&n);
    solve();
    printf("%lld",phi[n]*2+1);

    fclose(stdin);
    fclose(stdout);
    return 0;
}