Pagini recente » Cod sursa (job #360753) | Cod sursa (job #2942993) | Cod sursa (job #710454) | Cod sursa (job #2567961) | Cod sursa (job #975216)
Cod sursa(job #975216)
#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)
v[i] = v[i] * (i - 1) / i;
for (j = i * 2; j <= n; j+=i)
v[i] = v[i] * (i - 1) / 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;
}