Cod sursa(job #2310918)
Utilizator | Data | 2 ianuarie 2019 13:25:36 | |
---|---|---|---|
Problema | Sum | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <bits/stdc++.h>
using namespace std;
int f[100001];
int main()
{
int n, i, j;
FILE *fin, *fout;
fin = fopen( "sum.in", "r" );
fout = fopen( "sum.out", "w" );
for( i = 2; i <= 100000; ++i )
f[i] = i - 1;
for( i = 2; i * 2 <= 100000; ++i )
for( j = i * 2; j <= 100000; j += i )
f[j] = f[j] - f[i];
fscanf( fin, "%d", &n );
for( i = 1; i <= n; ++i ){
int a;
fscanf( fin, "%d", &a );
fprintf( fout, "%lld", 2 * a * f[a] );
}
fclose( fin );
fclose( fout );
return 0;
}