Pagini recente » Cod sursa (job #1502983) | Cod sursa (job #2394269) | Cod sursa (job #1238929) | Cod sursa (job #3192025) | Cod sursa (job #158195)
Cod sursa(job #158195)
#include <stdio.h>
#include<math.h>
int main()
{ FILE *g, *f;
long n, nr,i,j,contor,nf,fact[20],d;float p;
f=fopen("fractii.in", "r");
g=fopen ("fractii.out", "w");
fscanf(f, "%ld", &n); fclose(f);
contor=3;
for(i=3;i<=n;i++)
{
nf=0;nr=i;
if(nr%2==0){nf++;fact[nf]=2;while (nr%2==0)nr=nr/2;}
d=3;
while((d<=sqrt(nr))&&(nr>1)){
if(nr%d==0){nf++;fact[nf]=d;while (nr%d==0)nr=nr/d;}
else d=d+2;
}
if(nr>1){contor=contor+2*(nr-1);}
else {
p=i;
for(j=1;j<=nf;j++)p=p*(1-(float)1/fact[j]);
contor+=2*floor(p);
}
}
fprintf(g,"%ld",contor);
fclose(g); return 0; }