Pagini recente » Cod sursa (job #1167152) | Monitorul de evaluare | Cod sursa (job #255650) | Cod sursa (job #1346283) | Cod sursa (job #1194642)
#include <stdio.h>
int main(int argc, char **argv)
{
int i, n;
FILE *f = fopen("fractii.in", "rb");
fscanf(f, "%d\n", &n);
fclose(f);
int phi[n+1];
char prime[n+1];
for(i=2; i<=n; i++) {
phi[i] = i;
prime[i] = 1;
}
for(int i=2; i<=n; i++)
if(prime[i])
for(int j=i; j<=n; j+=i) {
prime[j] = 0;
phi[j] = phi[j] * (i-1) / i;
}
int total = 0;
for(int i=2; i<=n; i++)
total += phi[i];
f = fopen("fractii.out", "wb");
fprintf(f, "%d\n", 2 * total + 1);
fclose(f);
}