Cod sursa(job #169080)
Utilizator | Data | 1 aprilie 2008 00:43:04 | |
---|---|---|---|
Problema | Sum | Scor | 45 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <stdio.h>
long x,i,n;
long rez(long x)
{
long v[100000],i,j=0,c[100000],s=0,nr;
for(i=1;i<=2*x-1;i++)
c[i]=0;
for(i=2;i<=x/2;i++)
if(x%i==0){++j;v[j]=i;}
++j;
v[j]=x;
nr=j;
for(i=1;i<=nr;i++)
for(i=1;i<=nr;i++)
for(j=1;j<=2*x/v[i];j++)
c[v[i]*j]=1;
for(i=1;i<=2*x-1;i++)
if(c[i]!=1)s+=i;
return s;
}
int main()
{
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
scanf("%ld\n",&n);
for(i=1;i<=n;i++)
{
scanf("%ld\n",&x);
printf("%ld\n",rez(x));
}
return 0;
}