Cod sursa(job #669694)
| Utilizator | Data | 27 ianuarie 2012 16:00:48 | |
|---|---|---|---|
| Problema | Fractii | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <cstdio>
int v[1000005];
int main(){
freopen("fractii.in", "r", stdin);
freopen("fractii.out", "w", stdout);
unsigned long long n;
scanf("%d", &n);
for(unsigned long long i = 1; i <= n; ++ i)
v[i] = i - 1;
unsigned long long rez = 0;
for(unsigned long long i = 2; i <= n; ++ i){
rez += v[i];
for(unsigned long long j = i + i; j <= n; j += i)
v[j] -= v[i];
}
printf("%lld", 2 * rez + 1);
return 0;
}
