Cod sursa(job #1795630)

Utilizator Coroian_DavidCoroian David Coroian_David Data 2 noiembrie 2016 18:44:25
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>

#include <cstdio>

using namespace std;

int n = 100000;

int e[100001];

FILE *f, *g;

void ciur()
{
    int i, j;

  //  e[1].sum = e[1].prod = 1;

    for(i = 1; i <= n; i ++)
        e[i] = i;

    for(i = 2; i <= n; i += 2)
    {
        e[i] /= 2;
    }

    for(i = 3; i <= n; i += 2)
    {
        if (e[i] == i)
            for(j = i; j <= n; j += i)
            {
                e[j] = e[j] / i * (i - 1);
            }
    }

   // for(i = 1; i <= n; i ++)
  //      printf("*%d ", e[i].euler);
}

void solve()
{
    f = fopen("sum.in", "r");

    g = fopen("sum.out", "w");

    fscanf(f, "%d", &n);

    int i, nr;

    for(i = 1; i <= n; i ++)
    {
        fscanf(f, "%d", &nr);

        fprintf(g, "%lld\n",1LL * e[nr] * 2 * nr);
    }

    fclose(f);

    fclose(g);
}

int main()
{
    ciur();

    solve();

    return 0;
}