Pagini recente » Cod sursa (job #2977963) | Cod sursa (job #1008948) | Cod sursa (job #2143425) | Cod sursa (job #869083) | Cod sursa (job #1150907)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int p[1000000];
int count;
int euler(int k)
{
if(k<4)
{
p[count]=k;
count++;
return k-1;
}
else
{
int prim=1;
float f;
f=(float) k;
for(int i=0; i<count; i++)
if(k%p[i]==0)
{
f*=(float)(1-(1/((float)p[i])));
prim=0;
}
if(!prim)
return ceil(f);
else
{
p[count]=k;
count++;
return k-1;
}
}
}
int main()
{
FILE *fi, *fo;
int N, r=1;
fi=fopen("fractii.in", "r");
fo=fopen("fractii.out","w");
fscanf(fi, "%d", &N);
if(N!=1)
for(int i=2; i<=N; i++)
r+=2*euler(i);
fprintf(fo, "%d", r);
fclose(fi);
fclose(fo);
return 0;
}