Pagini recente » Cod sursa (job #2589695) | Cod sursa (job #936439) | Cod sursa (job #2843157) | Cod sursa (job #2869517) | Cod sursa (job #977660)
Cod sursa(job #977660)
#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;
}