Cod sursa(job #866202)
| Utilizator | Data | 27 ianuarie 2013 17:43:08 | |
|---|---|---|---|
| Problema | Fractii | Scor | 30 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.48 kb |
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int n, i, j, k = 0, *p;
freopen ("fractii.in", "r", stdin);
freopen ("fractii.out", "w", stdout);
scanf ("%d", &n);
p = malloc (n * sizeof (int));
for (i = 1; i <= n; i++)
p[i] = i;
for (i = 2; i <= n; i++)
{
if (p[i] == i)
{
for (j = i; j <= n; j += i)
{
p[j] = p[j] / i * (i - 1);
}
}
k += (2 * p[i]);
}
k++;
printf ("%d", k);
return 0;
}
