Cod sursa(job #193000)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 1 iunie 2008 20:55:15
Problema Sum Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
# include <stdio.h>
int n,m,i,a[100000],b[100000],c[100000],s,j,x,q,w;

int main ()
{
freopen ("sum.in","r",stdin);
freopen ("sum.out","w",stdout);
scanf ("%i",&m);
n=100000;
for (i=2;i<=n;i++)
{

if (b[i]==0)
{
s=0;
for (j=i;j<=n;j=j+i)
{
if (b[j]==0)
s=s+j;
a[j]=a[j]+s;
b[j]++;
}

}
}
for (i=0;i<=n;i++)
b[i]=0;

for (i=2;i<=n;i++)
{
if (c[i]==0)
{
s=0;
for (j=i;j<=n;j=j+i)
{
if (b[j]==0)
s++;
b[j]=b[j]+s;
c[j]=1;
}
}
}



for (i=0;i<m;i++)
{
scanf ("%li",&x);
n=x;
q=(n*(n+1))/2;
w=q-a[n];
n= x-b[x];
q=w+w+(n*x);



printf ("%i\n",q);


}
return 0;
}