Cod sursa(job #1573772)

Utilizator tiby10Tibi P tiby10 Data 19 ianuarie 2016 22:14:50
Problema Sum Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 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", 1LL*2*x*ans[x]);
    }
    return 0;
}