Cod sursa(job #953153)

Utilizator classiusCobuz Andrei classius Data 25 mai 2013 08:45:51
Problema Sum Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");

const int mx=100001;
void fctrz(vector<long long>&);

int main()
{
    int t;
    vector<long long> p,phi(2,0);
    f>>t;
    phi[1]=1;
    fctrz(phi);


    while(t--){
        long long n;
        f>>n;
        g<<2LL*phi[n]*n<<'\n';
    }

    return 0;
}

void fctrz(vector<long long>& phi)
{
    for(int i=2;i<mx;i++)
        phi.push_back(i-1);

    for(int i=2;i<mx;i++){
        for(int j=2;i*j<mx;j++)
            phi[i*j]-=phi[i];
    }
}