Pagini recente » Cod sursa (job #106744) | Cod sursa (job #315331) | Cod sursa (job #846533) | Cod sursa (job #2521197) | Cod sursa (job #759741)
Cod sursa(job #759741)
#include <cstdio>
#include "stdlib.h"
int main()
{
int *phi;
FILE *f = fopen("fractii.in","r");
FILE *g = fopen("fractii.out","w");
int n;
fscanf(f,"%d",&n);
phi = (int*)malloc((1+n)*sizeof(int));
int s = 1;
//compute phi(n)
for (int i=1;i<=n;i++) phi[i]=i;
for (int i=2;i<=n;i++)
{
if (phi[i]==i)
for (int j=i;j<=n;j+=i)
{
phi[j] /=i;
phi[j] *= (i-1);
}
s += phi[i];
}
fprintf(g,"%ld",s);
fclose(f);
fclose(g);
}