Cod sursa(job #1178960)
Utilizator | Data | 27 aprilie 2014 16:40:53 | |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <cstdio>
#define Nmax 1000010
using namespace std;
int n,i,j,fr[Nmax];
long long nr=1LL;
int main()
{
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d", &n);
for (i=1;i<=n;++i) fr[i]=i-1;
for (i=2;i<=n;++i)
{
nr+=1LL*fr[i];
for (j=2*i;j<=n;j+=i) fr[j]-=fr[i];
}
printf("%lld\n", 2*nr-1);
return 0;
}