Cod sursa(job #974274)
| Utilizator | Data | 16 iulie 2013 18:30:15 | |
|---|---|---|---|
| Problema | Fractii | Scor | 90 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <stdio.h>
#include <stdint.h>
int main (){
long long n;
long long ar[1000001];
freopen( "fractii.in","r", stdin );
freopen( "fractii.out", "w", stdout);
scanf("%llu", &n) ;
memset(ar, 0, sizeof(long long)* 1000001);
long long sum = 0;
for (long long j = 2; j <=n; ++j){
ar[j] += j - 1;
for (long long k = 2*j; k <=n; k+=j){
ar[k] -= ar[j];
}
sum+= ar[j];
}
printf("%llu", 2 *sum + 1);
return 0;
}
