Pagini recente » Cod sursa (job #466284) | Cod sursa (job #174107) | Cod sursa (job #2657717) | Cod sursa (job #1274011) | Cod sursa (job #49877)
Cod sursa(job #49877)
#include<stdio.h>
FILE *f=fopen("fractii.in","r"), *g=fopen("fractii.out","w");
long n,s=1;
int prim(int i) {
int d=2,bun=1;
if(i%d==0) return 0;
d=3; while(bun && d<=i/2) {
if(i%d==0) bun=0;
d+=2;
}
return bun;
}
void calcul(int i) {
long x=i,d=2,p=i;
if(x%d==0) { p=p*(d-1)/d; x/=d; }
d=3;
while(d<=i) {
if(x%d==0) {
p=p*(d-1)/d; x/=d;
}
d+=2;
}
s+=p*2;
}
int main() {
fscanf(f,"%ld",&n);
for(long i=2;i<=n;i++) {
if(prim(i)==0) calcul(i);
else s+=2*i-2;
}
fprintf(g,"%ld",s);
fclose(f);
fclose(g);
return 0;
}