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