Cod sursa(job #1479504)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 31 august 2015 15:20:58
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

const int NMax = 1e5 + 1;

int v[NMax];

int main(){
    freopen("sum.in", "r", stdin);
    freopen("sum.out", "w", stdout);
    int t, x;
    scanf("%d", &t);
    for(int i = 1; i < NMax; i++){
        v[i] = i;
    }
    for(int j = 2; j < NMax; j += 2){
        v[j] /= 2;
    }
    for(int i = 3; i < NMax; i += 2){
        if(v[i] == i){
            for(int j = i; j < NMax; j += i){
                v[j] = v[j] / i * (i - 1);
            }
        }
    }
    while(t--){
        scanf("%d", &x);
        printf("%lld\n", 1LL * v[x] * x * 2);
    }
    return 0;
}