Pagini recente » Cod sursa (job #3183890) | Cod sursa (job #267306) | Cod sursa (job #2132904) | Cod sursa (job #301356) | Cod sursa (job #1729901)
#include <stdio.h>
#include <stdlib.h>
int phi[1000000];
void euler(int n)
{
int i,j;
for (i=1;i<=n;i++)
phi[i]=i-1;
for (i=2; i<=n; i++)
for (j=2*i; j<=n; j+=i)
phi[j]-=phi[i];
}
int main()
{
FILE *pf,*pg;
pf=fopen("fractii.in","r");
if (pf==NULL)
{
printf("Nu s-a putut deschide fisierul!");
exit(1);
}
pg=fopen("fractii.out","w");
if (pg==NULL)
{
printf("Nu s-a putut crea fisierul!");
exit(2);
}
unsigned int n;
fscanf(pf,"%d",&n);
euler(n);
int i;
for (i=1; i<=n; i++)
phi[n+1]+=phi[i];
fprintf(pg,"%d",2*phi[n+1]+1);
return 0;
}