Pagini recente » Cod sursa (job #2122293) | Cod sursa (job #817901) | Cod sursa (job #1959401) | Cod sursa (job #2825121) | Cod sursa (job #2120128)
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
int f [105];
bool sfg [100005];
int desc (int apbc)
{
int i = 2, apcc = 0, k, capbc = apbc, res = apbc * (apbc + 1) / 2;
k = (int) sqrt ((double) apbc);
apbc /= 2;
while (apbc > 1 && i <= k)
{
if (apbc % i == 0)
{
while (apbc % i == 0)
apbc /= i;
f [++ apcc] = i;
int j = i;
while (j <= capbc)
{
if (sfg [j] == 0)
{
sfg [j] = 1;
res -= j;
}
j += i;
}
}
i ++;
}
if (apbc > 1)
{
f[++ apcc] = apbc;
int j = apbc;
while (j <= capbc)
{
if (sfg [j] == 0)
{
sfg [j] = 1;
res -= j;
}
j += apbc;
}
}
return res;
}
int main()
{
freopen ("sum.in", "r", stdin);
freopen ("sum.out", "w", stdout);
int t;
scanf ("%d", &t);
for (int i = 1; i <= t; i ++)
{
int k;
scanf ("%d", &k);
int p = desc (2 * k);
for (int j = 1; j <= 2 * k; j ++)
sfg [j] = 0;
printf ("%d\n", p);
}
return 0;
}