Cod sursa(job #1479501)

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

using namespace std;

ifstream fin("sum.in");
ofstream fout("sum.out");

const int NMax = 1e5 + 1;

int v[NMax];

int main(){
    int t, x;
    string s;
    fin >> 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--){
        x = 0;
        fin >> s;
        for(int i = 0; i < s.size(); i++){
            x = x * 10 + (s[i] - '0');
        }
        fout << 1LL * v[x] * 2 * x << "\n";
    }
    return 0;
}