Pagini recente » Cod sursa (job #2840199) | Cod sursa (job #1711113) | Cod sursa (job #621508) | Cod sursa (job #2635319) | Cod sursa (job #232089)
Cod sursa(job #232089)
#include <stdio.h>
int prim(long n) {
if ((n == 0) || (n == 1)) return 0;
int i;
for (i=2; i<=(int)(sqrt(n)); i++)
if (n%i == 0) return 0;
return 1;
}
int main() {
FILE *f = fopen("fractii.in","r");
long n, i;
fscanf(f,"%ld",&n);
fclose(f);
long s = n, j = 2;
long v[n+1], a[n+1];
for (i=1; i<=n; i++) {
v[i]=0;
if (prim(i)) a[i]=i-1;
else a[i]=i;
}
v[1]=0;
while (j*2 <= n) {
if (prim(j))
for (i=2*j; i<=n; i=i+j) {
v[i]=1;
a[i]=a[i]*(j-1)/j;
}
j++;
}
long t=0;
for (i=2; i<=n; i++)
t = t + 2*a[i];
t=t+a[1];
f = fopen("fractii.out","w");
fprintf(f,"%ld",t);
fclose(f);
return 0;
}