Cod sursa(job #352566)
Utilizator | Teodor Plop Teodor94 | Data | 2 octombrie 2009 12:38:49 |
---|---|---|---|
Problema | Fractii | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
// numarul nrelor prime cu n si <n
// - n* (p1-1)/p1 * (p2-1)/p2 * ... * (pk-1)/pk
#include <cstdio>
const int N=1<<20;
int e[N];
int n;
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
int j,i;
for (i=2;i<N;i++)
e[i]=i;
for (i=2;i<N;i++)
if (e[i]==i) // daca i e prim
for (j=i;j<N;j+=i)
e[j]=e[j]/i*(i-1);
long long s=0;
for (i=2;i<=n;i++)
s=s+e[i]*2;
s++;
printf("%d",s);
return 0;
}