Cod sursa(job #975223)

Utilizator stefanfStefan Fulger stefanf Data 19 iulie 2013 14:05:48
Problema Fractii Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{
    FILE *f = fopen("fractii.in", "r");
    FILE *g = fopen("fractii.out", "w");

	int i,j;
    int n;
    fscanf(f, "%d", &n);

    int *v = malloc ((n + 1) * sizeof(int));

	for (i = 2; i <= n; i++) {
		v[i] = i;
		if (i % 2 == 0)
			v[i] /= 2;
	}

	for (i = 3; i <= n; i++)
	  if (v[i] == i) {

	  for (j = i; j <= n; j+=i)
		v[j] = v[j] * (i - 1) / i;
	}

	for (i = 2; i <= n; i++)
	  printf("%d %d\n", i, v[i]);

    int suma = 0;
    for (i = 2; i <= n; i++)
      suma += v[i];

    fprintf(g,"%d\n", suma * 2 + 1);

    fclose(f);
    fclose(g);
    free(v);
    return 0;
}