Cod sursa(job #1573771)

Utilizator tiby10Tibi P tiby10 Data 19 ianuarie 2016 22:14:16
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<iostream>
#include<cstdio>
using namespace std;
#define MAXN 100001
int ans[MAXN];
int main ()
{
    freopen("sum.in", "r", stdin);
    freopen("sum.out", "w", stdout);
    int n, i, x; scanf("%d", &n);
    for(i=1; i<=MAXN; ++i)
        ans[i]=i-1;
    for(i=2; i<=MAXN; ++i)
        for(int j=i*2; j<=MAXN; j+=i)
            ans[j]-=ans[i];
    for(i=1; i<=n; ++i){
        scanf("%d", &x);
        printf("%lld\n", 2*x*ans[x]);
    }
    return 0;
}