Pagini recente » Cod sursa (job #3285717) | Cod sursa (job #1177245) | Cod sursa (job #2692904) | Cod sursa (job #2053620) | Cod sursa (job #8634)
Cod sursa(job #8634)
#include<stdio.h>
#include<math.h>
FILE *f1,*f2;
int main()
{
int ok;
long double s;
long unsigned fi,n,i,j;
int v[500],nrp=0,p;
double h;
f1=fopen("fractii.in","r");
f2=fopen("fractii.out","w");
fscanf(f1,"%lu\n",&n);
if(n==1)
s=1;
else
{
s=3;
v[0]=2;
for (i=3;i<=n;i++)
{
j=i;
fi=i;
p=0;
while(j>1)
{
ok=0;
while(!(j%v[p]))
{
ok=1;
j=j/v[p];
}
if(ok)
fi=fi/v[p]*(v[p]-1);else{
h=sqrt((double)j);
if((v[p]>h)&&(j>1))
{
fi=fi/j*(j-1);
if((j<1000)&&(j>v[nrp]))
v[++nrp]=j;
j=1;
} }
if(p<nrp)
p++;
}
s=s+2*fi;
}
}
fprintf(f2,"%.0Lf\n",s);
fclose(f1);
fclose(f2);
return 0;
}