Cod sursa(job #975246)

Utilizator stefanfStefan Fulger stefanf Data 19 iulie 2013 15:39:16
Problema Fractii Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.58 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;
}