Pagini recente » Cod sursa (job #1829859) | Cod sursa (job #475672) | Istoria paginii runda/rar21/clasament | Cod sursa (job #2430338) | Cod sursa (job #264203)
Cod sursa(job #264203)
#include <stdio.h>
int erat[1000001];
int main()
{
int n;
FILE *in = fopen("fractii.in","rt");
FILE *out = fopen("fractii.out","wt");
fscanf(in, "%d", &n);
fclose(in);
double num = 0;
for (int i = 2; i <= n; i++)
{
if (erat[i] == 0)
{
int add = 1;
for (int j = 2 * i; j <= n; j+=i)
{
erat[j] += add;
add++;
}
}
erat[i]++;
num += i - erat[i];
//fprintf(out, " totien(%d) = %d\n", i, i - erat[i]);
}
num = num * 2 + 1;
fprintf(out, "%.0lf", num);
fclose(out);
return 0;
}