Cod sursa(job #3186345)

Utilizator TeodorVTeodorV TeodorV Data 22 decembrie 2023 19:23:45
Problema Sum Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

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

const int Nmax=100001;
int phi[Nmax];
void initPhi()
{
    phi[1]=1;
    for(int i=1; i<Nmax; i++)
        phi[i]=i;
    for(int i=2; i<Nmax; i++)
    {
        if(phi[i]==i)
        {
            for(int j=i; j<Nmax; j+=i)
            {
                phi[j]=(float)phi[j]/i*(i-1);
            }
        }
    }
}

int main()
{
    initPhi();
    int n;
    fin>>n;
    for(int i=1; i<=n; i++)
    {
        int x;
        fin>>x;
        fout<<2*x*phi[x]<<'\n';
    }
    return 0;
}