Cod sursa(job #1205935)

Utilizator breahnadavidBreahna David breahnadavid Data 8 iulie 2014 14:43:32
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <cstdio> 
using namespace std; 
  
const int N = 1e5 + 5; 
  
long long phi[N], t, n; 
  
int main() { 
    FILE *fin = fopen("sum.in", "r"); 
    FILE *fout = fopen("sum.out", "w"); 
    for (int i = 1; i < N; ++i) 
        phi[i] = i - 1; 
    for (int i = 2; i < N / 2; ++i) 
        if (phi[i] == i - 1) 
            for (int j = i * 2; j < N; j += i) 
                phi[j] -= phi[j] / i; 
    fscanf (fin, "%lld", &t); 
    while (t--) { 
        fscanf (fin, "%lld", &n); 
        fprintf (fout, "%lld\n", 2LL * n * phi[n]); 
    } 
}