Cod sursa(job #977660)

Utilizator Corneliu10Dumitru Corneliu Corneliu10 Data 26 iulie 2013 12:51:44
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<stdio.h>
#include<stdlib.h>
 
int main()
{
    FILE *f = fopen("fractii.in", "r");
    FILE *g = fopen("fractii.out", "w");
    int n;
 
    fscanf(f, "%d", &n);
 
    int i,j;
    unsigned int *v = malloc ((n + 1) * sizeof(unsigned int));
 
    for (i = 2; i <= n; i++) {
        v[i] = i;
    }
 
    for (i = 2; i <= n; i++)
      if (v[i] == i) {
        v[i] = i - 1;
        for (j = i * 2; j <= n; j+=i)
          v[j] = (v[j] / i) * (i - 1);
    }
 
    long long suma = 0;
    for (i = 2; i <= n; i++)
      suma += v[i];
 
    free(v);
    fprintf(g,"%lld\n", suma * 2 + 1);
 
 
    fclose(f);
    fclose(g);
    return 0;
}