Pagini recente » Cod sursa (job #2715893) | Cod sursa (job #2656850) | Cod sursa (job #1613703) | Cod sursa (job #2823095) | Cod sursa (job #2600041)
#include <stdio.h>
#include <stdlib.h>
void Indicator_Euler (long long *I , long long n)
{
for(long long i = 2 ; i <= n ; i++)
I[i] = i;
for(long long i = 2 ; i <= n ; i++)
if(I[i] == i)
{
I[i]--;
for(long long j = 2 ; j * i <= n ; j++)
I[i * j] = I[i * j] / i * (i - 1);
}
}
void fractii (long long n)
{
long long *I = (long long *) calloc(n + 5 , sizeof(long long));
unsigned long long p = 1;
Indicator_Euler(I , n);
for(int i = 2 ; i <= n ; i++)
p += (unsigned long long) I[i] * 2;
FILE *fi = fopen("fractii.out" , "w");
fprintf(fi , "%llu" , p);
fclose(fi);
}
int main()
{
long long n;
FILE *fp = fopen("fractii.in" , "r");
fscanf(fp , "%lld" , &n);
fclose(fp);
fractii(n);
return 0;
}