Pagini recente » Cod sursa (job #1839293) | Cod sursa (job #22253) | Cod sursa (job #2616616) | Cod sursa (job #2024276) | Cod sursa (job #12254)
Cod sursa(job #12254)
#include <stdio.h>
#include <math.h>
int vec[20],n;
int prim(int x)
{if ((x==2)||(x==3)) return 1;
else{
int i,t=1;
for (i=2;i<=sqrt(x);i++)
if (x%i==0) t=0;
return t;
}
}
int totent(int x)
{
int i,fi;
fi=x;
for (i=2;i<=n/2;i++)
if (n%i==0)
if (prim(i)) fi=fi*(i-1)/i;
return fi;
}
int main()
{
unsigned long long numar;
int i;
FILE *pf;
pf=fopen("fractii.in","r");
fscanf(pf,"%d",&n);
fclose(pf);
numar=(unsigned long long)(2*n-1);
for (i=2;i<n;i++)
numar+=(unsigned long long)totent(n);
pf=fopen("fractii.out","w");
fprintf(pf,"%llu",numar);
fclose(pf);
return 0;
}