Pagini recente » Cod sursa (job #1023625) | Cod sursa (job #2177798) | Cod sursa (job #182837) | Cod sursa (job #2639749) | Cod sursa (job #2532844)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sum.in");
ofstream g("sum.out");
int n,x,i,j;
int v[317];
bool c[100001], c1[200001];
int p[9593], nrp;
int fact[100], nrf;
int main()
{
for (i=2;i<=100000;i++)
if (!c[i])
{
nrp++;
p[nrp]=i;
for (j=i*2;j<=100000;j+=i)
c[j]=1;
}
f>>n;
while (n--)
{
f>>x;
nrf=0;
for (i=1;p[i]*p[i]<=x;i++)
if (x%p[i]==0)
{
nrf++;
fact[nrf]=p[i];
if (!c[x/p[i]])
{
nrf++;
fact[nrf]=x/p[i];
}
}
if (!c[x])
{
nrf++;
fact[nrf]=x;
}
x*=2;
memset(c1, 0, x+1);
long long s=(1LL*x*(x+1))/2;
for (i=1;i<=nrf;i++)
for (j=fact[i];j<=x;j+=fact[i])
{
if (!c1[j])
s-=j;
c1[j]=1;
}
g<<s<<"\n";
}
return 0;
}