Cod sursa(job #1666050)
| Utilizator | Data | 27 martie 2016 16:56:12 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <cstdio>
#include <iostream>
#include <bitset>
#define nmax 10000
using namespace std;
int n;
int phi[nmax];
int main()
{
long long sol=0;
int i;
freopen("fractii.in","r",stdin);
freopen("fractii.out","w",stdout);
scanf("%d",&n);
for (i = 1; i <= n; ++i)
phi[i] = i-1;
for (i = 2; i <= n; ++i)
for (int j = 2*i; j <= n; j += i)
phi[j] -= phi[i];
for(i=1;i<=n;i++) sol+=phi[i];
sol*=2;
sol+=1;
printf("%lld\n",sol);
fclose(stdin);
fclose(stdout);
return 0;
}
