Cod sursa(job #6657)

Utilizator tancuStancu George tancu Data 20 ianuarie 2007 14:52:00
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<stdio.h>
#include<math.h>
FILE *f1,*f2;
int main()
{long int j,i,v[1000];long unsigned s,n,p;int nr,ok;
f1=fopen("fractii.in","r");
f2=fopen("fractii.out","w");
v[0]=1;
v[1]=2;
nr=1;
fscanf(f1,"%lu",&n);
fclose(f1);
if(n<=1)s=n;
else {
s=3;
for(i=3;i<=n;i++){
p=i;j=1;ok=0;while((j<nr)&&(v[j]<=sqrt(i)))
{
if(i%v[j]==0){ok=1;p=p/v[j]*(v[j]-1);}
j++;}
if((!ok)&&(i>v[nr])){v[++nr]=i;p=p/i*(i-1);}
s+=2*p;
} }
fprintf(f2,"%lu",s);
fclose(f2);return 0;}