Pagini recente » Cod sursa (job #1919429) | Cod sursa (job #1324670) | Cod sursa (job #61729) | Cod sursa (job #2722346) | Cod sursa (job #108780)
Cod sursa(job #108780)
#include <stdio.h>
#define MAX 10010
int p[MAX];
int n;
void Erastostene()
{
int i, j;
for(i = 1; i <= n; i++) p[i] = 1;
for(i = 2; i <= n; i++)
if(p[i])
for(j = i + i; j <= n; j += i)
p[j] = 0;
}
int Tot(int l)
{
int i,a;
float t;
if (p[l]) t = l - 1;
else
{
t = l;
i = 2;
while(l != 1)
{
while(p[i] == 0 || l % i != 0) i++;
while(l % i == 0) l /= i;
t = t * (1 - 1/(float)i);
}
}
a = (int) t;
return(a);
}
int main()
{
FILE *f;
long long r = 0;
int i;
f = fopen("fractii.in", "rt");
fscanf(f, "%d", &n);
fclose(f);
Erastostene();
for(i = 1; i <= n; i++) r = r + Tot(i);
r = 2 * r + 1;
f = fopen("fractii.out", "wt");
fprintf(f, "%li", r);
fclose(f);
return(0);
}