Cod sursa(job #21347)

Utilizator vali_miValy Mihai vali_mi Data 23 februarie 2007 12:50:03
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<stdio.h>
#include<math.h>
FILE *f1,*f2;
int main()
{long int s,n,a,b,nr,x,y;
f1=fopen("fractii.in","r");
fscanf(f1,"%li",&n);
fclose(f1);
nr=1;
for(a=2;a<=n;a++)
{
y=a; s=a;b=2;
while(y>1)
{x=0;
while(y%b==0){
x=1;
y=y/b;
}
if(x) s=s/b*(b-1);

if(b==2) b=3;
else
b=b+2;
if((b>sqrt(y))&&(y>1)){s=s/y*(y-1);y=1;}
}
nr=nr+2*s;
}
f2=fopen("fractii.out","w");
fprintf(f2,"%li\n",nr);
fclose(f2);
return 0;
}