Pagini recente » Cod sursa (job #2711504) | Cod sursa (job #2999032) | Cod sursa (job #2902932) | Cod sursa (job #2036219) | Cod sursa (job #134528)
Cod sursa(job #134528)
#include <stdio.h>
int n;
int contor;
int ftotient(int pn);
int main(void)
{
FILE* f=fopen ("fractii.in","r");
fscanf (f,"%d",&n);
fclose (f);
contor=0;
for (int i=1;i<=n;i++)
contor+=ftotient(i);
contor=contor+contor-1;
f=fopen ("fractii.out","w");
fprintf(f,"%d",contor);
fclose (f);
return 0;
}
int ftotient(int pn)
{
int ln=pn;
int totient=ln;
int p1=1;
int p2=1;
for (int i=2;i<=ln;i++)
{
if (ln%i==0)
{
p1=p1*(i-1);
p2=p2*i;
}
while (ln%i==0)
ln=ln/i;
}
totient=(totient*p1)/p2;
return totient;
}