Pagini recente » Cod sursa (job #2604810) | Cod sursa (job #3202481) | Cod sursa (job #3133623) | Cod sursa (job #136810) | Cod sursa (job #349926)
Cod sursa(job #349926)
#include<fstream>
#define dmax 200003
using namespace std;
ifstream in("sum.in");
ofstream out("sum.out");
int n,dv[100],t,nrd;
bool tmp[dmax];
void getdiv(int k)
{ int i;
for(i=2;i<=n;i++)
if(k%i==0)
{ nrd++;
dv[nrd]=i;
while(k%i==0)
k=k/i;
getdiv(k);
return;
}
}
void solve()
{ int i,j;
long long s=0;
getdiv(n);
for(i=1;i<=nrd;i++)
for(j=dv[i];j<=dmax;j+=dv[i])
tmp[j]=1;
for(i=1;i<=2*n;i++)
if(!tmp[i])
s+=i;
out<<s<<'\n';
for(i=1;i<=nrd;i++)
dv[i]=0;
nrd=0;
for(i=1;i<=dmax;i++)
tmp[i]=0;
}
int main()
{ int i;
in>>t;
for(i=1;i<=t;i++)
{ in>>n;
solve();
}
in.close();
out.close();
return 0;
}