Cod sursa(job #1194642)

Utilizator rumorsofmydemisehavebeengreatlyexaggerated rumorsofmydemise Data 4 iunie 2014 14:12:13
Problema Fractii Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>

int main(int argc, char **argv)
{
    int i, n;

    FILE *f = fopen("fractii.in", "rb");
    fscanf(f, "%d\n", &n);
    fclose(f);

    int phi[n+1];
    char prime[n+1];

    for(i=2; i<=n; i++) {
        phi[i] = i;
        prime[i] = 1;
    }

    for(int i=2; i<=n; i++)
        if(prime[i])
            for(int j=i; j<=n; j+=i) {
                prime[j] = 0;
                phi[j] = phi[j] * (i-1) / i;
            }

    int total = 0;
    for(int i=2; i<=n; i++)
        total += phi[i];

    f = fopen("fractii.out", "wb");
    fprintf(f, "%d\n", 2 * total + 1);
    fclose(f);
}