Cod sursa(job #2600035)

Utilizator PMI13Pop Marius Ionut PMI13 Data 11 aprilie 2020 21:44:47
Problema Fractii Scor 0
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#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;
}