Cod sursa(job #158275)
Utilizator | Mircea Pasoi domino | Data | 13 martie 2008 16:09:29 |
---|---|---|---|
Problema | Fractii | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <stdio.h>
#include <stdlib.h>
int N, A[1000005];
long long cnt;
int main(void)
{
int i, j;
freopen("fractii.in", "r", stdin);
scanf("%d", &N);
for (i = 0; i < N; i++) A[i + 1] = i;
for (i = 2; i <= N; i++)
for (j = i << 1; j <= N; j += i)
A[j] -= A[i];
for (cnt = 1, i = 2; i <= N; i++)
cnt += (long long) (A[i] << 1);
freopen("fractii.out", "w", stdout);
printf("%lld\n", cnt);
return 0;
}