Cod sursa(job #936158)

Utilizator Al3ks1002Alex Cociorva Al3ks1002 Data 5 aprilie 2013 19:56:11
Problema Fractii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<cstdio>
#include<bitset>
using namespace std;
const int NMAX = 1000005;
int n,i,j;
long long phi[NMAX],sol;
bitset<NMAX> viz;
int main()
{
    freopen("fractii.in","r",stdin);
    freopen("fractii.out","w",stdout);
    scanf("%d",&n);
    for(i=2;i<=n;i++) phi[i]=i;
    for(i=2;i<=n;i++)
        if(!viz[i])
            for(j=i;j<=n;j+=i) {phi[j]=phi[j]*(i-1)/i; viz[j]=1;}
    for(sol=1,i=2;i<=n;i++) sol+=2*phi[i];
    printf("%lld\n",sol);
    return 0;
}