Cod sursa(job #2003)

Utilizator demonuTeodor Stoenescu demonu Data 15 decembrie 2006 17:29:24
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <stdio.h>

const char *fin = "fractii.in";
const char *fout = "fractii.out";

int vec[1000010];

int sum(int k) {
    int rez = 0;
    for (int i = 2; i <= k; ++i) {
        if (vec[i] != -1) {
            int d = k / i;
            int g = d * d;
            rez += (vec[i] + 1) * g;
            for (int j = 2 * i; j <= k; j += i) {
                vec[j] -= (vec[i] + 1);
            }
        }
    }
    return rez;
}

int main(){
    FILE *f = fopen(fin, "rt");
    int n;
    fscanf(f, "%d", &n);
    fclose(f);

    f = fopen(fout, "wt");
    fprintf(f, "%d", n * n - sum(n));
    fclose(f);
    return 0;
}