Pagini recente » Cod sursa (job #2094876) | Cod sursa (job #670548) | Cod sursa (job #2528175) | Cod sursa (job #895749) | Cod sursa (job #2097489)
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <stdint.h>
typedef unsigned int uint;
uint phi(uint n);
int main(void)
{
FILE *in = fopen("fractii.in", "r");
FILE *out = fopen("fractii.out", "w");
if(in != NULL && out != NULL)
{
uint n, i = 1, res = 0;
fscanf(in, "%u%*c", &n);
for(; i <= n; i++)
{
res += phi(i);
}
fprintf(out, "%u\n", (2 * res - 1));
fclose(in);
fclose(out);
}
else
{
printf("Error\n");
}
return 0;
}
uint phi(uint n)
{
uint result = n;
uint i = 2;
for(; i * i <= n; i++)
{
if(n % i == 0)
{
while(n % i == 0)
{
n /= i;
}
result -= result / i;
}
}
if(n > 1)
{
result -= result / n;
}
return result;
}