Cod sursa(job #1424924)

Utilizator SwagginInMyJaysaaaaaaaaaaaas SwagginInMyJays Data 25 aprilie 2015 21:37:10
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <cstdio>
#include <fstream>
#include <cstdlib>
#include <utility>
#include <algorithm>
#include <bitset>
#include <vector>
#include <map>
#include <queue>
#include <string>
#include <cstring>


#define ll long long
#define rep(i, a, b) for (int i = (a) ; i <= (b) ; ++i)

#define mp make_pair
#define pii pair <int, int>
#define SORT(x) sort ((x).begin(), (x).end() )
#define fi first

/*/ Fuck With me, u know i got it /*/

using namespace std;

static const int N = 100005;

int euler[N];

void HardEuler () {
    for ( int i = 1 ; i <= N ; ++i)
        euler[i] = i;
    for (int  i = 2  ; i <= N; i++) {
    if (euler[i] != i) continue;
    for (int j = i ; j <= N; j += i)
        euler[j] /= i, euler[j] *= (i - 1 ); }
}


int main(){
    freopen ("sum.in", "r", stdin);
    freopen ("sum.out", "w", stdout);
    int ItsQueryTimeBitch, x, n;
    HardEuler();
    for (scanf("%d", &ItsQueryTimeBitch); ItsQueryTimeBitch; ItsQueryTimeBitch-- ) {
        scanf ("%d", &x );
        printf ("%lld\n", 1LL * x * 2 * euler[x]);
    }
    return 0;
}