Cod sursa(job #2908927)
Utilizator | David Curca divaddd | Data | 7 iunie 2022 00:08:14 |
---|---|---|---|
Problema | Sum | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <iostream>
#include <fstream>
#define MAX 100002
using namespace std;
int n,x;
int phi[MAX];
ifstream fin("sum.in");
ofstream fout("sum.out");
int main()
{
for(int i = 1; i < MAX; i++){
phi[i] = i;
}
for(int i = 2; i < MAX; i++){
if(phi[i] == i){
for(int j = i; j < MAX; j += i){
phi[j] /= i;
phi[j] *= (i-1);
}
}
}
fin >> n;
for(int i = 1; i <= n; i++){
fin >> x;
fout << 2ull*x*phi[x] << "\n";
}
return 0;
}